pespin has uploaded this change for review. (
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/27423 )
Change subject: ggsn: Emulate OCS
......................................................................
ggsn: Emulate OCS
Change-Id: I10027d4f8adc6b47ce97b90514d1f13e9aa3d40d
---
M ggsn_tests/GGSN_Tests.ttcn
M library/DIAMETER_Templates.ttcn
2 files changed, 27 insertions(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/23/27423/1
diff --git a/ggsn_tests/GGSN_Tests.ttcn b/ggsn_tests/GGSN_Tests.ttcn
index 7a7ff97..02b5aa4 100644
--- a/ggsn_tests/GGSN_Tests.ttcn
+++ b/ggsn_tests/GGSN_Tests.ttcn
@@ -39,6 +39,7 @@
const integer GTP1C_PORT := 2123;
const integer GTP1U_PORT := 2152;
const integer PCRF_PORT := 3868;
+ const integer OCS_PORT := 3869;
type enumerated GGSN_Impl {
GGSN_IMPL_OSMOCOM,
@@ -128,6 +129,9 @@
var DIAMETER_Emulation_CT vc_Gx;
port DIAMETER_PT Gx_UNIT;
port DIAMETEREM_PROC_PT Gx_PROC;
+ var DIAMETER_Emulation_CT vc_Gy;
+ port DIAMETER_PT Gy_UNIT;
+ port DIAMETEREM_PROC_PT Gy_PROC;
}
private function f_init_vty() runs on GT_CT {
@@ -203,7 +207,10 @@
unitdata_cb := refers(DiameterForwardUnitdataCallback),
raw := true /* handler mode (single component for all IMSI)) */
};
- var DIAMETER_conn_parameters pars := {
+ var DIAMETER_conn_parameters pars;
+
+ /* Gx setup: */
+ pars := {
remote_ip := m_ggsn_ip_gtpc,
remote_sctp_port := -1,
local_ip := m_bind_ip_gtpc,
@@ -218,7 +225,24 @@
connect(vc_Gx:DIAMETER_PROC, self:Gx_PROC);
vc_Gx.start(DIAMETER_Emulation.main(ops, pars, id));
+ /* Gy setup: */
+ pars := {
+ remote_ip := m_ggsn_ip_gtpc,
+ remote_sctp_port := -1,
+ local_ip := m_bind_ip_gtpc,
+ local_sctp_port := OCS_PORT,
+ origin_host := "ocs.localdomain",
+ origin_realm := "localdomain",
+ vendor_app_id := c_DIAMETER_CREDIT_CONTROL_AID
+ };
+ vc_Gy := DIAMETER_Emulation_CT.create(id);
+ map(vc_Gy:DIAMETER, system:DIAMETER_CODEC_PT);
+ connect(vc_Gy:DIAMETER_UNIT, self:Gy_UNIT);
+ connect(vc_Gy:DIAMETER_PROC, self:Gy_PROC);
+ vc_Gy.start(DIAMETER_Emulation.main(ops, pars, id));
+
f_diameter_wait_capability(Gx_UNIT);
+ f_diameter_wait_capability(Gy_UNIT);
/* Give some time for our emulation to get out of SUSPECT list of SUT (3 watchdong
ping-pongs):
* RFC6733 sec 5.1
* RFC3539 sec 3.4.1 [5]
diff --git a/library/DIAMETER_Templates.ttcn b/library/DIAMETER_Templates.ttcn
index b56363f..e2067f6 100644
--- a/library/DIAMETER_Templates.ttcn
+++ b/library/DIAMETER_Templates.ttcn
@@ -100,6 +100,8 @@
DIAMETER_ERROR_EAP_CODE_UNKNOWN (5048)
};
+/* Gy : 3GPP TS 32.299 7.1.6, RFC4006 3.1 */
+const uint32_t c_DIAMETER_CREDIT_CONTROL_AID := 4;
/* 3GPP TS 29.272 Section 7.1.8 */
const uint32_t c_DIAMETER_3GPP_Gx_AID := 16777238;
const uint32_t c_DIAMETER_3GPP_S6_AID := 16777251;
--
To view, visit
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/27423
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I10027d4f8adc6b47ce97b90514d1f13e9aa3d40d
Gerrit-Change-Number: 27423
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: newchange