Commit Graph

721 Commits

Author SHA1 Message Date
Harald Welte 61f73d553b DIAMETER: parametrize CEA template
So far, we hard-coded the Capabilities-Exchange-Answer for
HSS emulation.  As we want to emulate other DIAMETER network
elements, let's parametrize the template as well as the respective
parameters for the emulation component.

Change-Id: Ie30ff1bac40ab3dc6058587f0586b643ff2b0cb6
2020-04-26 22:08:34 +02:00
Harald Welte f9fb63ec98 DIAMETER_Emulation: Add support for IMSI in Subscription-Id
Ths IMSI on the Gx interface is encoded into a different AVP than
on the S6a/S6d interfaces.  Let's make sure our DIAMETER_Emulation
knows both formats.

Change-Id: I299fcc2e01e908914df32fda4fb93b1114402c77
2020-04-26 22:08:34 +02:00
Harald Welte 24de8caffd DIAMETER_Types: Add IETF RFC4006 CreditControl + related
This adds more DIAMETER types to our TTCN-3 module, specifically those
encountered on Gx between PGW and PCRF.

./AVP.sh Base_IETF_RFC3588.ddf BaseTypes_IETF_RFC3588.ddf AAAInterface_3GPP_TS29272_f10.ddf GxInterface_PCC_3GPP_TS29212_f10.ddf S6Interfaces_3GPP_TS29336_f00.ddf MobileIPv6_HA_IETF_RFC5778.ddf RxInterface_PCC_3GPP_TS29214_f20.ddf NetworkAccessServer_IETF_RFC4005.ddf CreditControl_IETF_RFC4006.ddf CxDxInterface_3GPP_TS29229_c30.ddf GiSGiInterface_3GPP_TS29061_d70.ddf

Change-Id: Ibe7321e695337ff62fdc912270f6e13e6c6d6cf2
2020-04-26 22:08:34 +02:00
Pau Espin 1860bf8391 library/Osmocom_Gb_Types.ttcn: Fix typo presece->presence in function name
Change-Id: I50f1c23e83e9b87de09844226b110d2c48b7cfdb
2020-04-26 14:44:35 +00:00
Pau Espin 55cb2ce675 L3_Templates.ttcn: Fix trailing whitespace
Change-Id: I46ff86b981ef649c89073f155566af35848aef8d
2020-04-22 17:09:25 +02:00
Harald Welte 88b3ccbf5b Add GTPv2_Emulation component
Change-Id: If73aa453e44ebf28032c60d207feb03e8061dc0c
2020-04-21 22:57:31 +02:00
Harald Welte e53a23db70 HACK: avoid compilation error with TITAN > 6.5.0
it seems TITAN no longer supports 'ifpresent' in certain situations,
see https://www.eclipse.org/forums/index.php/m/1826175/#msg_1826175

Let's make the tests fail if we actually run in those cases, but at
least compile fine and be able to execute all the other tests.

Change-Id: Ia401c2d696979c0062872bca8da62c2ea153427b
2020-04-20 18:02:45 +02:00
Harald Welte 885de1cdb5 CBSP_Templates: fix copy+paste error
Change-Id: Idd07dce8ccdbfa3d65a78ccfcaa9f43eb04979cd
2020-04-20 18:02:45 +02:00
Vadim Yanitskiy 3911d1177e library/RLCMAC_CSN1_Types: add EGPRS Packet Channel Request definition
For more details, see 3GPP TS 44.060, table 11.2.5a.2.

Change-Id: I762b932ed67d9e67a5e13290209cc9017dd650a7
Related: OS#1548
2020-04-20 02:56:41 +00:00
Harald Welte af763aaef5 Fix/complete the partial GTPv2_CodecPort we already had
Change-Id: Idb9f492863d31e9decffeb0d71215fe581fdd4bb
2020-04-19 17:25:02 +00:00
Harald Welte 0ee2297e97 Initial SIMTRACE testsuite
This doesn't really do much yet in terms of test coverage, but it
adds all related infrastructure

Change-Id: If9fa66b6c5fbddd742ff61fa2c1345736d07accd
2020-04-01 10:16:02 +00:00
Vadim Yanitskiy fb3edf951d library/L3_Templates: remove tr_PAGING_REQ1_MI1_TMSI, use existing MI templates
Change-Id: Id35477ffc4a914e71100f129bbc4833b48ed5da4
2020-03-30 14:47:08 +07:00
Vadim Yanitskiy cc4623dff2 library/RSL_Types: use MobileIdentityLV for MS Identity IE
Change-Id: I5436dcbbc961d5b572e10e4f1a3f806d252d7818
2020-03-28 06:21:02 +07:00
Vadim Yanitskiy 7e0022697c library/BSSGP_Types: use tr_MI_IMSI from library/L3_Templates
Change-Id: Ibb02c1c545418bef34ee1e42d34857bda655e12f
2020-03-28 05:20:41 +07:00
Vadim Yanitskiy c94c572698 library/L3_Templates: add more templates for Mobile Identity IE
Change-Id: Ife954becab8c51605da05618a721541e7a4de319
2020-03-28 05:17:23 +07:00
Vadim Yanitskiy 9781ecb4f9 library/GSM_RR_Types: Paging Request Type 1 may contain second MI
Change-Id: I1c443a875d048f51fcf8c5ea4d2a5ab8114d0a4f
2020-03-28 04:27:05 +07:00
Vadim Yanitskiy 98bb2d5eea library/GSM_RR_Types: do not duplicate Mobile Identity records
All the records related to Mobile Identity IE (see 3GPP TS 24.008,
section 10.5.1.4) are defined in [1], so there is no real need to
dumplicate them. Moreover, most of the related templates in
library/L3_Templates.ttcn are based on these records.

[1] titan.ProtocolModules.MobileL3_v13.4.0/src/MobileL3_CommonIE_Types.ttcn

Change-Id: I27c2743c59db770d6f7e9447dc8c1f539b228ced
2020-03-28 03:29:22 +07:00
Vadim Yanitskiy 7b2242157b PCU: also test GSGN originated PS/CS Paging containing TMSI
This additional couple of test cases reveals several bugs:

  1) the IUT encodes a erroneous RR Paging Request message
     containing P-TMSI, so TITAN fails to decode it;

  2) the IUT prints an invalid P-TMSI in its log output
     due to load of misaligned address (found by UBSan).

[1] I97fd5ffc15a4a58112d7c37c69b7ac42b0741a0e
[2] Icf8836f216793e342b239c8e6645aac1e82bf324

Change-Id: I7fbec5b2c5c3943a7413417b623f55c135c152d7
2020-03-26 16:27:50 +07:00
Pau Espin dc9666ff9c pcu: Verify CodingScheme of received data blocks
Change-Id: I0a5247650548f8a03f7b025aae65652fb424c156
2020-03-20 20:03:59 +01:00
Pau Espin 2422d1fa82 pcu: Introduce TC_mt_ping_pong_with_dl_racap
Allows checking how pcu parses MS RA Capabilities coming from SGSN.

Change-Id: Iedd8ab278547471b72252743d93a0f9e11d7e787
2020-03-18 15:53:17 +01:00
Harald Welte 4895d7a1d3 BSSGP/IuUP: Fix license disclaimer copy+paste
The license disclaimer already stated GPLv2-or-later, it just stated
confusingly you should look at the AGPL for reference.  Fix that.

Change-Id: I673c5c177a8e4010921f1fed747ce376f274da54
2020-03-01 20:27:19 +01:00
Harald Welte 625faadb76 Native_Functions: Add f_str_to{lower,upper}()
TTCN-3 interestingly doens't seem to have any case-insensitive string
matching or functions to convert to uppwer/lowercase.

Change-Id: I2e6e0fd2da001a3cc6d9c31c9e766ae54bf17b2f
2020-02-19 19:52:22 +01:00
Harald Welte 6effabbd62 DIAMETER: Add tr_DIA_AIR() to send AuthInfoRequest
Change-Id: Ib30fafaa2c660d32e864a57f4d3b0f50a158de6c
2020-02-18 21:39:59 +01:00
Oliver Smith b51a53fdfa hlr: add TC_MSLookup_GSUP_proxy
Let OsmoHLR act as proxy between MSC and home HLR during Location
update.

Related: OS#4380
Change-Id: I945e651f1346e56dbe3c02d9d08ccd95cc8d6626
2020-02-06 16:21:47 +00:00
Oliver Smith d5696eb56e library/DNS_Helpers: add f_enc_IPv4
Used by upcoming D-GSM test, to pass the IP of the emulated GSUP server.
The code is based on f_enc_dns_hostname() in the same file.

Related: OS#4380
Change-Id: I8a5450988711680c93cfd657a34db759a56bc41e
2020-02-06 16:21:47 +00:00
Oliver Smith 07786da45b library/GSUP_Types: add dest name to some messages
Prepare for upcoming D-GSM test, that lets OsmoHLR act as proxy. It
forwards the messages based on the destination name, so the testsuite
must set it correctly.

Related: OS#4380
Change-Id: I7623b7a7c7a18ba18a38d0834979d18ab0fbb961
2020-02-06 16:21:47 +00:00
Oliver Smith 6e81f7e940 hlr: add emulated GSUP server (second HLR)
Prepare for upcoming D-GSM test, which needs to emulate a GSUP server.

Related: OS#4380
Change-Id: Idbfe8a145c90a524145089a06d9bbefac4d7edd8
2020-02-06 16:21:47 +00:00
Oliver Smith deb80a6a82 hlr: add TC_MSLookup_mDNS_service_other_home
Send an mslookup mDNS request to the home HLR, asking about a service
that is not "gsup.hlr". Hence the "_other" in the test name, service
"gsup.hlr" has different code paths, and related tests will be added in
follow-up patches.

This is the first test using MSLookup_mDNS_Emulation, so add related
test infrastructure.

Related: OS#4380
Depends: osmo-hlr I2fe453553c90e6ee527ed13a13089900efd488aa
Change-Id: Ia7f92d33691f910549353b16a7b0efc18e521719
2020-02-06 16:21:47 +00:00
Pau Espin e30d543576 sccp: Introduce test TC_it_avoids_tiar
Related: OS#4343
Change-Id: I3a970a9b7ed7fb178095760025dd83c570dcff5e
2020-01-21 14:22:20 +01:00
Pau Espin a2473da683 sccp: Introduce test TC_tiar_timeout
Existing templates are moved to SCPP_Templates.ttcn and new ones
required for the test are added there.

Related: OS#4343
Change-Id: I7b56fe77ac3b350d722c74b043e6ecabc48dcf31
2020-01-20 20:15:26 +01:00
Oliver Smith 62a1c63436 hlr: f_perform_UL: add CnDomain parameter
Make it possible to do CS location update, not only PS. This is needed
for upcoming D-GSM related tests.

Related: SYS#4618
Change-Id: Idd699f054c9242614b9bea066428293f8b2da9c2
2020-01-20 07:31:45 +00:00
Vadim Yanitskiy e9e9301e87 library/L3_Templates.ttcn: fix length matching in tr_RP_ERROR_MT
Change-Id: Id5a4210a9f256f8bd7b0048fd65610de8c378bb9
2020-01-15 16:08:31 +00:00
Pau Espin c675b6119c bsc: Introduce test TC_chan_rel_sccp_tiar_timeout
Verify SCCP T(iar) timeout triggers release of established channel.

Change-Id: Ic2724f62689b99c33e2e5c3a0c2fd022178a788c
2020-01-12 13:11:39 +00:00
Vadim Yanitskiy f3906e63f8 library/GSUP_Emulation.ttcn: extend size of GsupExpectTable
We already have 16 entries in the GsupImsiTable. Let's also extend
the GsupExpectTable, so we can have 16 components of type
BSC_ConnHdlr running in parallel.

Change-Id: Ibca0e9196c25ab00803041b81f7b490ba2f0a3ba
2020-01-10 16:03:27 +00:00
Vadim Yanitskiy ae74774138 MSC: f_ran_register_imsi(): allow passing omit as TMSI
Change-Id: I6dd2f77283a79e83f028115f4cc42f05db885838
2020-01-10 16:03:27 +00:00
Alexander Couzens 752f86b8aa library/GSUP_Types: add support for OSMO_GSUP_NUM_VECTORS_REQ_IE
OSMO_GSUP_NUM_VECTORS_REQ_IE allows the GSUP client to ask
for a specific amount of auth tuples.

Change-Id: I1be95c6a06610744b81ba043d236fce108598b79
2020-01-10 16:01:19 +00:00
Philipp Maier dd841d3a05 BTS_Tests: tolerate empty measurement result on chan est.
On channel establishment the first measurement result may lack the
measurement reports from the MS. This is normal behavior, so lets
tolerate that.

Change-Id: Ib2f511991349ab15e02db9c5e45f0df3645835a4
Related: OS#2975
2020-01-06 10:32:15 +00:00
Vadim Yanitskiy 322c79367b PCU: fix: actually match IMSI in Packet Paging Request
Change-Id: I0afdd53fd5d2a89e139f65a7aec412a2e12511cc
2020-01-03 22:20:50 +00:00
Vadim Yanitskiy 5e51873d9c library/RLCMAC_CSN1_Types.ttcn: fix ps / cs selection in PageInfo union
Change-Id: I40c2a3c38799a625836e4c28f476524c92077b83
2020-01-03 22:20:50 +00:00
Vadim Yanitskiy a52347ca32 library/GSUP_Types.ttcn: fix MSISDN / SMSC coding in SM-RP-OA/DA
Unlike IMSI, both MSISDN and SMSC address in SM-RP-OA/DA not only
contain the BCD encoded digits, but also a little header with
NPI (Numbering Plan Identification), ToN (Type of Number), and
Extension fields.

Change-Id: I3f55834489f3e613f541cf1e216027e8d48ccaf0
Related: OS#4324
2020-01-03 12:27:17 +00:00
Pau Espin 461ed61e4d GSM_RR_Types.ttcn: Support encoding of EGPRS Packet Uplink Assignment
Change-Id: Idf3bd12318480e8cdd26fce35e52d0a9e8c39608
2019-12-31 17:01:51 +00:00
Pau Espin 86904080a3 RLCMAC_CSN1_Types.ttcn: Support encoding of MS Radio Access Capability 2
Change-Id: Iac7d7b694bc44887443418f755e51d636abe8575
2019-12-31 16:35:29 +00:00
Pau Espin 88bf537b35 pcu: Introduce tests for CS and PS paging from SGSN/Gb
CS Gb paging and PTP CS/PS paging implemented in osmo-pcu:
I9501e02e1d7f6944497e724dbccb9a19c3f5221f
I5c52b5af740460c48bb3ba858243b1d20e624268

Related: OS#3927, OS#2406
Change-Id: I90b5a792c1d91e38ea7b8c060ff0b459673df951
2019-12-23 14:46:07 +01:00
Oliver Smith 8f9daab414 pcu: add TC_paging_cs_from_bts
1. BTS send a CS paging Request over pcu socket
2. Expect a CS paging frame

Related: OS#3927
Change-Id: Ia3ad503c243c9b3b162e204683fa4fa5447bbab3
2019-12-17 13:53:44 +00:00
Pau Espin ff8da1901b pcu: Introduce test TC_t3193
Change-Id: Ib11cd1793d985ff609b10b0e60bddadd5fcfa6d2
2019-12-17 13:53:44 +00:00
Pau Espin 65bab9e3bc pcu: Support sending message to PCU at specific FN
Change-Id: I81a29b4885f3fc6b753a1612d5fd369cd18f5dc6
2019-12-06 09:51:31 +00:00
Pau Espin 1a4d4e97b7 library: VTY: Allow hyphens in VTY prompt
Old versions of osmo-pcu print "Osmo-PCU" as VTY prompt. This commit
allows supporting this kind of prompt.

Change-Id: Ia5acbbe5828901726f7f15c4a99d596e94914c4b
2019-12-04 22:26:33 +00:00
Pau Espin a3f0a85eb2 pcu: TC_mo_ping_pong: Check DL block is sent and ACK it
Function f_rx_rlcmac_dl_block_exp_data() still misses proper
verification of data. Apparently the received message has 2 blocks,
first with expected 10 bytes, but next one contains 18 bytes with 4
actual bytes and other bits are padding.

Last DL ACK/NACK sent is not yet working correctly. osmo-pcu seems to be
unable to match it against sent DL block (I think due to non-matching
FN), and instead drops it and schedules after timeout an IMM ASS to try
to send DL block again.

Change-Id: Icf66dd5c07690368722c586632c38fb7e770053c
2019-12-04 16:33:31 +00:00
Harald Welte 0a1fd0e667 GSUP_Types: Split RAT_TYPE_IE to SUPPORTED / CURRENT
We added the RAT_TYPE_IE while the respective change in libosmocore
was still in gerrit review.  Meanwhile the support there has been
split into two parts: A list of supported radio access types and
another IE indicating the current RAT.  Let's catch up with that
in the GSUP implementation.

This makes TC_gsup_sai_eps() pass again.

Change-Id: I2c609dc523cbec562c6c6a05f4c7d600649ff52d
2019-12-03 20:01:08 +01:00
Pau Espin 216596340a pcu: Fix RLCMAC template naming
There's also DL_ACK_NACK message for which a template will be introduced
soon, so let's rename and fix typos/wrong descriptions to avoid
confusion later.

Change-Id: I4a2025ad282006953fcfadf429c980b77cb94371
2019-12-02 19:12:10 +01:00