Commit Graph

30 Commits

Author SHA1 Message Date
Pau Espin 51dca9fa15 ggsn,pgw: Expect Multiple-Services-Indicator AVP in Initial CCR
Multiple-Services-Indicator AVP is only meant to be sent in CCR Init.
Let's not expect it in Update nor in Termination CCR, open5gs stopped
sending it there recently in 9948fba05afb8e1b118f0c29a84ffe38c0f21b75.

Change-Id: Ic4d6be4bf28c65817ce912a8be10937db0b5dba9
2022-06-21 17:07:20 +02:00
Pau Espin 6477d7358a DIAMETER: Introduce and rework some AVP templates
All the AVP ecosystem in DIAMETER is quite a mess. There's AVPs defined
in several different specs, sometimes even with the same name and
different AVP code and vendor.
Hence, as we add more templates it becomes important to start using the
prefix in order to differentiate where they come from.

Change-Id: Iec7c51dae136629d6b754de4dd798e988ac51f6b
2022-06-07 08:15:19 +00:00
Pau Espin cba0f6d292 ggsn/pgw: Fix Gy CCR Reporting-Reason expectancies
The Reporting-Reason can be in different places depending on its values.
In the case of TERMINATION, we expect it to be FINAL so we know its
location.

Change-Id: Id33b9bb2f7b469e03a0761dc8807770cfdf77fcc
2022-05-25 14:13:02 +00:00
Pau Espin 2fde1efd8e pgw: Validate charging reported values
Change-Id: I5024abc672bf92d41027c4c78d2925d0537bb470
2022-05-23 11:38:05 +02:00
Pau Espin e343a88756 pgw: Improve checks around Gy messages
Change-Id: Ica3ca4cf72113d66e74dcff9f838e39cc5d63468
2022-05-19 14:13:10 +02:00
Pau Espin 7d39f9ea94 pgw: Send MSISDN in GTPv2C CreateSessionRequest
Change-Id: I71bcad944f40aa78357f2d11f54d139103ca3e24
2022-05-04 10:09:09 +00:00
Pau Espin 431f3460dd pgw: Add TC_gy_charging_cc_time
Related: SYS#5276
Change-Id: Ie4e567f62bbbdba276e6b3221111c8d9f82cde14
2022-04-25 09:21:45 +00:00
Pau Espin 251d0646e0 pgw: Initial Gy support
Related: SYS#5276
Change-Id: I04cf78cb4bc73de59f803c01208a7ef9056cb14f
2022-04-22 11:06:12 +02:00
Pau Espin 8b3123fe5f pgw: Support having several DIAMETER_ConnHdlr per PGW_Session_CT
A new intermediate component DIAMETER_ConnHdlr_CT is added which extends
the required DIAMETER_ConnHdlr by the DIAMETER_Emulation, and forwards
it to the PGW_Session_CT. This way, the PGW_Session_CT, which usually
runs the test code, will have access to GTP2, Gx and Gy messages for the
session.

Initial Gy support for PGW_Tests is added in follow-up patch.

Change-Id: I28f1ac0a013e479058f28a6feff6901b33f6c247
2022-04-20 18:34:33 +02:00
Pau Espin 5b0327b20a pgw: Don't expect Gx messages during delete of unknwon session
Same approach as implemented for GGSN_Tests in
10ec96e24b.

Change-Id: I7ad1fcae612a562d6643f9f01db3a4e7941f3666
2022-04-11 16:50:41 +00:00
Pau Espin bb5f45fb58 pgw: Wait for component to get out of SUT's Diameter SUSPECt list
Similar fix was applied to GGSN_Tests when adding Diameter support in
commit 0bcfd9de8f.

Change-Id: I95ddf6c1048f0bfd6590bae574aea15c4fc2710b
2022-04-11 16:50:41 +00:00
Pau Espin 77fdd0b5aa ggsn: Initial testing of open5gs Gy interface
Related: SYS#5276
Change-Id: I10027d4f8adc6b47ce97b90514d1f13e9aa3d40d
2022-04-11 12:04:55 +00:00
Pau Espin 9c8c458fe8 pgw: Fix typo in expected-results.xml name
Change-Id: I49342db43e81d3e95fa5d13de4cd77b6a67a7af7
2022-04-07 19:26:56 +02:00
Pau Espin d4e473a21c pgw: Add expected_results.xml
Change-Id: I451b10a7b79854e630e7f2d487423dc39ade5bbd
2022-04-07 19:16:40 +02:00
Pau Espin 08880f11e9 pgw: Add T_guard
Change-Id: I9dce4aee4a0b1181bb7dc1a53fb254e6d17cf22e
2022-04-07 19:05:15 +02:00
Pau Espin 33b4749fcf lib/DIAMETER: Allow sending CEA with AuthAppId
The new message is to be used by Gy interface emulation, which according
to RFC4006 uses AppId 4 "Credit Control Application". The application
is apparently not 3GPP vendor specific.

Change-Id: I0e33673d65140aad34d2efcae3c7f49154ceb99f
2022-03-14 12:05:37 +01:00
Vadim Yanitskiy 284c68e735 PGW_Tests: f_start_prog(): redirect stdout/stderr to files
This would allow us to see the output of a program being executed.

Change-Id: I04ab92c13fcd893d39dbb6a8a8af5ff41d207e36
Related: SYS#5602
2022-02-03 12:07:24 +00:00
Vadim Yanitskiy 36ab797d46 PGW_Tests: f_start_prog_wait(): print more debugging info
Change-Id: I73314ccfdabd3860e15c732260b024f4c984bebf
Related: SYS#5602
2022-02-01 21:57:50 +06:00
Vadim Yanitskiy b46f01e130 library/DIAMETER_Emulation: implement 'raw' mode of operation
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
2022-01-31 09:56:51 +00:00
Vadim Yanitskiy 589972fead PGW_Tests: update default values for mp_pgw_hostname/mp_pcrf_local_ip
The old values are not valid anymore when running against open5gs
version 2.4.2.  Most likely, the default addresses got changed
during the PGW split-up (now it's open5gs-smfd and open5gs-upfd).

Change-Id: I3dd7d1f0d4aebb94b8859e8d12e952917de35071
Related: SYS#5602
2022-01-20 19:38:36 +06:00
Vadim Yanitskiy bada3c927d PGW_Tests: fix f_create_session(): add missing Serving Network IE
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
2022-01-20 19:33:43 +06:00
Oliver Smith f8fe1329e2 regen_makefile.sh: set executable name explicitly
Set the executable name in each regen_makefile.sh explicitly with -e,
instead of having it set indirectly from the first .ttcn file. Make it
consistent by placing the name on top of each of these files.

Fix for warning:
ttcn3_makefilegen: warning: File `BSC_Tests.ttcn' was given more than once for the Makefile.

Related: OS#5252
Change-Id: I5ed03f8f3ed905483620dc7bae33b617bbb8507f
2021-10-13 11:12:22 +02:00
Oliver Smith bd78b61d6a pgw: add missing BSSGP_EncDec.cc
Fix for:
/usr/bin/ld: BSSGP_Types_part_4.so: undefined reference to `BSSGP__Types::dec__PDU__BSSGP(OCTETSTRING const&)'
/usr/bin/ld: Osmocom_Gb_Types.so: undefined reference to `BSSGP__Types::enc__PDU__BSSGP(BSSGP__Types::PDU__BSSGP const&)'

Related: OS#5252
Change-Id: I010df10396d264e67bd8c712daafcfb79262ece2
2021-10-12 16:35:01 +02:00
Oliver Smith 2e0e624060 regen_makefile.sh: files/flags in separate lines
Make all regen_makefile.sh more readable and diff friendly by moving
each entry in FILES and CPPFLAGS_TTCN3 into separate lines. Order
entries alphabetically.

Related: OS#5252
Change-Id: I6b6866eb9f6ec6232e4ae434517457a4c8c1c050
2021-10-12 16:35:01 +02:00
Pau Espin 8c74cbbf5a sgsn: Introduce test TC_rim_eutran_to_geran
GTP_Templates.ttcn new templates use BssgpCellId, hence it depends on Osmocom_Gb_Types.ttcn.

Related: SYS#5314
Change-Id: I9dcf6ee2dc55bc6aba178eca30080233254f025e
2021-05-17 20:33:00 +00:00
Harald Welte f400151003 pgw: Add support for PCRF emulation (CCR/CCA)
If mp_pcrf_local_ip is set to a non-empty string, the PGW testsuite
now emulates a PCRF and expects the PGW to perform the related
transactions - so far Credit-Control-Request INITIAL_REQUEST
at session creation, and TERMINATION_REQUST at session deletion.

Change-Id: I5f0c7a66d38e5c8b5f36b45717d49648a14ed7b2
2020-04-26 22:08:34 +02:00
Harald Welte 71117b689d pgw: Use bash to reliably support += syntax in shell scripts
Change-Id: Id93e83456380ade0617fe9a17eb2b92c685c749e
2020-04-26 15:29:35 +02:00
Harald Welte fe595e495c pgw: Add TC_createSession_ping4_256 to test 256 parallel sessions
Change-Id: I38cfaddfb60952f17846fbf87b1a29c32e646438
2020-04-21 22:57:31 +02:00
Harald Welte 8cfdc7cd57 pgw: Don't wait for 10s timeout if starting a ping that takes 10s
rather, dynamically wait 5s longer than the theoretical time it
should take.

Change-Id: Ife2b7b8d03ee6808cfa73bb860cc63c46c451499
2020-04-21 22:57:31 +02:00
Harald Welte 4526da9a22 pgw: Initial testsuite for a PGW (Packet Gateway in the EPC)
Change-Id: I1c0ea207c9191479fd8f581377855f78f36bc635
2020-04-21 22:57:31 +02:00