dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/30848 )
Change subject: pcu_sock: drop unused function prototype
......................................................................
pcu_sock: drop unused function prototype
The function trx_get_hlayer1() is defuned as a prototype but it is not
used anywhere and there is also no implementation, lets drop it.
Related: OS#5198
Change-Id: I91ead9379140e971ccabc83cbf2b62b8aa1fc8a2
---
M src/osmo-bsc/pcu_sock.c
1 file changed, 0 insertions(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/48/30848/1
diff --git a/src/osmo-bsc/pcu_sock.c b/src/osmo-bsc/pcu_sock.c
index 81198bd..bfa07f9 100644
--- a/src/osmo-bsc/pcu_sock.c
+++ b/src/osmo-bsc/pcu_sock.c
@@ -45,7 +45,6 @@
#include <osmocom/bsc/bts_sm.h>
static int pcu_sock_send(struct gsm_bts *bts, struct msgb *msg);
-uint32_t trx_get_hlayer1(struct gsm_bts_trx *trx);
int pcu_direct = 1;
static const char *sapi_string[] = {
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/30848
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I91ead9379140e971ccabc83cbf2b62b8aa1fc8a2
Gerrit-Change-Number: 30848
Gerrit-PatchSet: 1
Gerrit-Owner: dexter <pmaier(a)sysmocom.de>
Gerrit-MessageType: newchange
pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/30847 )
Change subject: bsc: TC_assignment_emerg_setup_allow(_imei): Test full voice establishment
......................................................................
bsc: TC_assignment_emerg_setup_allow(_imei): Test full voice establishment
Extend tests to also test the data plane setup.
Related: OS#5849
Change-Id: I9f39f861398669a8eb1da242595de584725e5b83
---
M bsc/BSC_Tests.ttcn
1 file changed, 56 insertions(+), 42 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/47/30847/1
diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn
index 45c319d..c0a64a9 100644
--- a/bsc/BSC_Tests.ttcn
+++ b/bsc/BSC_Tests.ttcn
@@ -9180,12 +9180,63 @@
}
}
+private function f_assignment_emerg_setup_voice()
+runs on MSC_ConnHdlr {
+ /* Go on with voice call assignment */
+ var template PDU_BSSAP exp_compl := f_gen_exp_compl();
+ var PDU_BSSAP ass_cmd := f_gen_ass_req();
+
+ /* Below speechOrDataIndicator and codecList are copied from an emergency call captured during tests.
+ * They seem a bit weird (AMR-WB, and the order differ between speechId_DataIndicator and the codecList), but
+ * seems a good idea to see how osmo-bsc reacts to this. */
+ ass_cmd.pdu.bssmap.assignmentRequest.channelType := {
+ elementIdentifier := '0B'O, /* overwritten */
+ lengthIndicator := 0, /* overwritten */
+ speechOrDataIndicator := '0001'B, /* speech */
+ spare1_4 := '0000'B,
+ channelRateAndType := ChRate_TCHForH_Fpref,
+ speechId_DataIndicator := 'c2918105'O
+ };
+ ass_cmd.pdu.bssmap.assignmentRequest.codecList := valueof(ts_BSSMAP_IE_CodecList({
+ ts_CodecHR, ts_CodecAMR_WB, ts_CodecEFR, ts_CodecFR}));
+
+ f_rslem_dchan_queue_enable();
+
+ var ExpectCriteria mgcpcrit := {
+ connid := omit,
+ endpoint := omit,
+ transid := omit
+ };
+ f_create_mgcp_expect(mgcpcrit);
+
+ BSSAP.send(ass_cmd);
+
+ var AssignmentState st := valueof(ts_AssignmentStateInit);
+ st.voice_call := true;
+ st.is_assignment := false;
+ alt {
+ [] as_modify(st);
+ [] as_Media();
+ [st.modify_done] BSSAP.receive(exp_compl) {
+ setverdict(pass);
+ }
+ }
+
+ /* Voice call carries on ... */
+ f_sleep(2.0);
+}
+
/* Test if the EMERGENCY SETUP gets passed on to the MSC via A when EMERGENCY
* CALLS are permitted by the BSC config. */
private function f_TC_assignment_emerg_setup_allow(charstring id) runs on MSC_ConnHdlr {
+ /* Make sure the CHAN RQD indicates an emergency call (0b101xxxxx). The difference is that osmo-bsc directly
+ * assigns a TCH lchan and establishing voice for the emergency call will use Mode Modify, not reassignment to
+ * another lchan. */
+ g_pars.ra := f_rnd_ra_emerg();
f_assignment_emerg_setup();
f_assignment_emerg_setup_exp_bssap();
+ f_assignment_emerg_setup_voice();
setverdict(pass);
f_perform_clear();
@@ -9197,6 +9248,10 @@
var PDU_BSSAP emerg_setup_data_ind_bssap;
timer T := 3.0;
+ /* Make sure the CHAN RQD indicates an emergency call (0b101xxxxx). The difference is that osmo-bsc directly
+ * assigns a TCH lchan and establishing voice for the emergency call will use Mode Modify, not reassignment to
+ * another lchan. */
+ g_pars.ra := f_rnd_ra_emerg();
f_assignment_emerg_setup();
T.start;
@@ -10488,48 +10543,7 @@
BSSAP_LE.receive(BSSAP_LE_Conn_Prim:CONN_PRIM_DISC_IND);
BSSAP.receive(tr_BSSMAP_Perform_Location_Response(tr_BSSMAP_IE_LocationEstimate(gad_ell_point_unc_circle)));
- /* Go on with voice call assignment */
- var template PDU_BSSAP exp_compl := f_gen_exp_compl();
- var PDU_BSSAP ass_cmd := f_gen_ass_req();
-
- /* Below speechOrDataIndicator and codecList are copied from an emergency call captured during tests.
- * They seem a bit weird (AMR-WB, and the order differ between speechId_DataIndicator and the codecList), but
- * seems a good idea to see how osmo-bsc reacts to this. */
- ass_cmd.pdu.bssmap.assignmentRequest.channelType := {
- elementIdentifier := '0B'O, /* overwritten */
- lengthIndicator := 0, /* overwritten */
- speechOrDataIndicator := '0001'B, /* speech */
- spare1_4 := '0000'B,
- channelRateAndType := ChRate_TCHForH_Fpref,
- speechId_DataIndicator := 'c2918105'O
- };
- ass_cmd.pdu.bssmap.assignmentRequest.codecList := valueof(ts_BSSMAP_IE_CodecList({
- ts_CodecHR, ts_CodecAMR_WB, ts_CodecEFR, ts_CodecFR}));
-
- f_rslem_dchan_queue_enable();
-
- var ExpectCriteria mgcpcrit := {
- connid := omit,
- endpoint := omit,
- transid := omit
- };
- f_create_mgcp_expect(mgcpcrit);
-
- BSSAP.send(ass_cmd);
-
- var AssignmentState st := valueof(ts_AssignmentStateInit);
- st.voice_call := true;
- st.is_assignment := false;
- alt {
- [] as_modify(st);
- [] as_Media();
- [st.modify_done] BSSAP.receive(exp_compl) {
- setverdict(pass);
- }
- }
-
- /* Voice call carries on ... */
- f_sleep(2.0);
+ f_assignment_emerg_setup_voice();
setverdict(pass);
f_perform_clear();
--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/30847
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: I9f39f861398669a8eb1da242595de584725e5b83
Gerrit-Change-Number: 30847
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: newchange
pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/30846 )
Change subject: bsc: Move BSSAP handling of emergency call to helper function
......................................................................
bsc: Move BSSAP handling of emergency call to helper function
Change-Id: I3a88efeae6710ba005496067ecb0c8f4035404ab
---
M bsc/BSC_Tests.ttcn
1 file changed, 14 insertions(+), 44 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/46/30846/1
diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn
index 469d7b6..45c319d 100644
--- a/bsc/BSC_Tests.ttcn
+++ b/bsc/BSC_Tests.ttcn
@@ -9156,15 +9156,13 @@
RSL.send(emerg_setup_data_ind);
}
-/* Test if the EMERGENCY SETUP gets passed on to the MSC via A when EMERGENCY
- * CALLS are permitted by the BSC config. */
-private function f_TC_assignment_emerg_setup_allow(charstring id) runs on MSC_ConnHdlr {
+/* expect EmergencySetup on BSSAP after calling f_assignment_emerg_setup() */
+private function f_assignment_emerg_setup_exp_bssap()
+runs on MSC_ConnHdlr {
var PDU_BSSAP emerg_setup_data_ind_bssap;
var PDU_ML3_MS_NW emerg_setup;
timer T := 3.0;
- f_assignment_emerg_setup()
-
T.start;
alt {
[] BSSAP.receive(tr_BSSAP_DTAP) -> value emerg_setup_data_ind_bssap {
@@ -9180,6 +9178,14 @@
setverdict(fail, "timout waiting for EMERGENCY SETUP!");
}
}
+}
+
+/* Test if the EMERGENCY SETUP gets passed on to the MSC via A when EMERGENCY
+ * CALLS are permitted by the BSC config. */
+private function f_TC_assignment_emerg_setup_allow(charstring id) runs on MSC_ConnHdlr {
+
+ f_assignment_emerg_setup();
+ f_assignment_emerg_setup_exp_bssap();
setverdict(pass);
f_perform_clear();
@@ -9191,7 +9197,7 @@
var PDU_BSSAP emerg_setup_data_ind_bssap;
timer T := 3.0;
- f_assignment_emerg_setup()
+ f_assignment_emerg_setup();
T.start;
alt {
@@ -10468,25 +10474,7 @@
* another lchan. */
g_pars.ra := f_rnd_ra_emerg();
f_assignment_emerg_setup();
-
- var PDU_BSSAP emerg_setup_data_ind_bssap;
- timer T := 3.0;
- T.start;
- alt {
- [] BSSAP.receive(tr_BSSAP_DTAP) -> value emerg_setup_data_ind_bssap {
- var PDU_ML3_MS_NW verify_emerg_setup;
- verify_emerg_setup := dec_PDU_ML3_MS_NW(emerg_setup_data_ind_bssap.pdu.dtap);
- if (not isbound(verify_emerg_setup.msgs.cc.emergencySetup)) {
- setverdict(fail, "no emergency setup");
- }
- }
- [] BSSAP.receive {
- setverdict(fail, "unexpected BSSAP message!");
- }
- [] T.timeout {
- setverdict(fail, "timeout waiting for EMERGENCY SETUP!");
- }
- }
+ f_assignment_emerg_setup_exp_bssap();
/* Here would usually be a CC Call Proceeding from the MSC, but what does the BSC care about DTAP. */
@@ -10576,25 +10564,7 @@
{
g_pars.ra := f_rnd_ra_emerg();
f_assignment_emerg_setup();
-
- var PDU_BSSAP emerg_setup_data_ind_bssap;
- timer T := 3.0;
- T.start;
- alt {
- [] BSSAP.receive(tr_BSSAP_DTAP) -> value emerg_setup_data_ind_bssap {
- var PDU_ML3_MS_NW verify_emerg_setup;
- verify_emerg_setup := dec_PDU_ML3_MS_NW(emerg_setup_data_ind_bssap.pdu.dtap);
- if (not ischosen(verify_emerg_setup.msgs.cc.emergencySetup)) {
- setverdict(fail, "no emergency setup");
- }
- }
- [] BSSAP.receive {
- setverdict(fail, "unexpected BSSAP message!");
- }
- [] T.timeout {
- setverdict(fail, "timeout waiting for EMERGENCY SETUP!");
- }
- }
+ f_assignment_emerg_setup_exp_bssap();
/* Start a Location Request to locate the emergency */
f_bssap_le_register_imsi(g_pars.imsi, omit);
--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/30846
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: I3a88efeae6710ba005496067ecb0c8f4035404ab
Gerrit-Change-Number: 30846
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: newchange