Build failure of network:osmocom:nightly/osmo-bts in Raspbian_9.0/armv7l
Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bts/Raspbian_9.0/armv7l Package network:osmocom:nightly/osmo-bts failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-bts Last lines of build log: [ 607s] ../../src/common/libbts.a(bts.o): In function `lchan_init_lapdm': [ 607s] ./src/common/bts.c:423: undefined reference to `lapdm_channel_init2' [ 607s] collect2: error: ld returned 1 exit status [ 607s] Makefile:421: recipe for target 'osmo-bts-virtual' failed [ 607s] make[4]: *** [osmo-bts-virtual] Error 1 [ 607s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/osmo-bts-virtual' [ 607s] Makefile:385: recipe for target 'all-recursive' failed [ 607s] make[3]: *** [all-recursive] Error 1 [ 607s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 607s] Makefile:434: recipe for target 'all-recursive' failed [ 607s] make[2]: *** [all-recursive] Error 1 [ 607s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 607s] Makefile:366: recipe for target 'all' failed [ 607s] make[1]: *** [all] Error 2 [ 607s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 607s] dh_auto_build: make -j1 returned exit code 2 [ 607s] debian/rules:12: recipe for target 'build' failed [ 607s] make: *** [build] Error 2 [ 607s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 608s] [ 608s] armbuild15 failed "build osmo-bts_0.8.1.326.5a3e.dsc" at Sun Jun 16 05:10:40 UTC 2019. [ 608s] [ 608s] ### VM INTERACTION START ### [ 611s] [ 502.126050] sysrq: SysRq : Power Off [ 611s] [ 502.128587] reboot: Power down [ 611s] ### VM INTERACTION END ### [ 611s] [ 611s] armbuild15 failed "build osmo-bts_0.8.1.326.5a3e.dsc" at Sun Jun 16 05:10:44 UTC 2019. [ 611s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/)
Build failure of network:osmocom:nightly/libosmocore in Raspbian_9.0/armv7l
Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Raspbian_9.0/armv7l Package network:osmocom:nightly/libosmocore failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 912s] | This file was extended by libosmocore config.status 1.1.0.68-a08e, which was [ 912s] | generated by GNU Autoconf 2.69. Invocation command line was [ 912s] | [ 912s] | CONFIG_FILES= [ 912s] | CONFIG_HEADERS = [ 912s] | CONFIG_LINKS= [ 912s] | CONFIG_COMMANDS = [ 912s] | $ ./config.status Doxyfile.core [ 912s] | [ 912s] | on obs-arm-5 [ 912s] | [ 912s] | config.status:1200: creating Doxyfile.core [ 912s] [ 912s] debian/rules:26: recipe for target 'override_dh_auto_test' failed [ 912s] make[1]: *** [override_dh_auto_test] Error 1 [ 912s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 912s] debian/rules:15: recipe for target 'build' failed [ 912s] make: *** [build] Error 2 [ 912s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 912s] [ 912s] obs-arm-5 failed "build libosmocore_1.1.0.68.a08e.dsc" at Sun Jun 16 02:58:42 UTC 2019. [ 912s] [ 912s] ### VM INTERACTION START ### [ 915s] [ 881.264436] sysrq: SysRq : Power Off [ 915s] [ 881.280375] reboot: Power down [ 916s] ### VM INTERACTION END ### [ 916s] [ 916s] obs-arm-5 failed "build libosmocore_1.1.0.68.a08e.dsc" at Sun Jun 16 02:58:47 UTC 2019. [ 916s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/)
Change in ...osmo-ttcn3-hacks[master]: MSC_Tests.ttcn: introduce TC_proc_ss_paging_fail
fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14474 Change subject: MSC_Tests.ttcn: introduce TC_proc_ss_paging_fail .. MSC_Tests.ttcn: introduce TC_proc_ss_paging_fail The idea of this test case is to check that OsmoMSC does inform HLR/EUSE that a subscriber did not respond to Paging Request in case of network-originated SS/USSD. Both f_expect_gsup_msg() and f_expect_dtap_msg() were extended with optional timeout value, as we need to wait longer than 2.0 seconds (default). Let's stick to 10.0 seconds. Change-Id: I1f53c56d569c8ac4071835685bbe3bc9e0ebd7f0 Related: OS#2931 --- M msc/MSC_Tests.ttcn 1 file changed, 64 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/74/14474/1 diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index f9b2d03..b5a3ba7 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -2817,10 +2817,11 @@ } } -private function f_expect_gsup_msg(template GSUP_PDU msg) +private function f_expect_gsup_msg(template GSUP_PDU msg, + float T_val := 2.0) runs on BSC_ConnHdlr return GSUP_PDU { var GSUP_PDU gsup_msg_complete; - timer T := 2.0; + timer T := T_val; T.start; alt { @@ -2837,10 +2838,11 @@ return gsup_msg_complete; } -private function f_expect_mt_dtap_msg(template PDU_ML3_NW_MS msg) +private function f_expect_mt_dtap_msg(template PDU_ML3_NW_MS msg, + float T_val := 2.0) runs on BSC_ConnHdlr return PDU_ML3_NW_MS { var PDU_DTAP_MT bssap_msg_complete; - timer T := 2.0; + timer T := T_val; T.start; alt { @@ -3549,6 +3551,63 @@ vc_conn.done; } +/* MT (network-originated) USSD and no response to Paging Request */ +friend function f_tc_proc_ss_paging_fail(charstring id, BSC_ConnHdlrPars pars) +runs on BSC_ConnHdlr { + timer TP := 2.0; /* Paging timer */ + + f_init_handler(pars); + + /* Perform location update */ + f_perform_lu(); + + f_ran_register_imsi(g_pars.imsi, ''O); + f_create_gsup_expect(hex2str(g_pars.imsi)); + + var template (value) GSUP_PDU gsup_req := ts_GSUP_PROC_SS_REQ( + imsi := g_pars.imsi, + sid := '2444'O, + state := OSMO_GSUP_SESSION_STATE_BEGIN, + ss := f_rnd_octstring(23) + ); + + /* Error with some cause value */ + var template GSUP_PDU gsup_rsp := tr_GSUP_PROC_SS_ERR( + imsi := g_pars.imsi, + sid := '2444'O, + state := OSMO_GSUP_SESSION_STATE_END, + cause := ? /* FIXME: introduce an enumerated type! */ + ); + + /* Initiate a MT USSD notification */ + GSUP.send(gsup_req); + + /* Send it to MSC and expect Paging Request */ + TP.start; + alt { + [pars.ran_is_geran] BSSAP.receive(tr_BSSMAP_Paging(g_pars.imsi)) { + setverdict(pass); + } + [not pars.ran_is_geran] BSSAP.receive(tr_RANAP_Paging(cs_domain, imsi_hex2oct(g_pars.imsi))) { + setverdict(pass); + } + /* We don't expect anything else */ + [] as_unexp_gsup_or_bssap_msg(); + [] TP.timeout { + setverdict(fail, "Timeout waiting for Paging Request"); + } + } + + /* Expect GSUP PROC_SS_ERROR message */ + f_expect_gsup_msg(gsup_rsp, T_val := 10.0); +} +testcase TC_proc_ss_paging_fail() runs on MTC_CT { + var BSC_ConnHdlr vc_conn; + f_init(); + vc_conn := f_start_handler(refers(f_tc_proc_ss_paging_fail), 101); + vc_conn.done; +} + /* A5/1 only permitted on network side; attempt an invalid CIPHER MODE COMPLETE with A5/3 which MSC should reject. */ private function f_tc_cipher_complete_with_invalid_cipher(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr { @@ -5399,6 +5458,7 @@ execute( TC_mt_ussd_for_unknown_subscr() ); execute( TC_proc_ss_for_unknown_session() ); + execute( TC_proc_ss_paging_fail() ); execute( TC_cipher_complete_with_invalid_cipher() ); execute( TC_cipher_complete_1_without_cipher() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14474 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: I1f53c56d569c8ac4071835685bbe3bc9e0ebd7f0 Gerrit-Change-Number: 14474 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange
Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: inform HLR/EUSE if Paging has failed
fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/14475 Change subject: libmsc/gsm_09_11.c: inform HLR/EUSE if Paging has failed .. libmsc/gsm_09_11.c: inform HLR/EUSE if Paging has failed Change-Id: Ie2ac06aadb18251310e0cfd85bb0d9865470aab7 Related: (TTCN-3) I1f53c56d569c8ac4071835685bbe3bc9e0ebd7f0 Related: OS#2931 --- M src/libmsc/gsm_09_11.c 1 file changed, 17 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/75/14475/1 diff --git a/src/libmsc/gsm_09_11.c b/src/libmsc/gsm_09_11.c index a46207e..3bd90dd 100644 --- a/src/libmsc/gsm_09_11.c +++ b/src/libmsc/gsm_09_11.c @@ -297,9 +297,25 @@ /* Count established network-initiated NC SS/USSD sessions */ rate_ctr_inc(>msc_ctrs->ctr[MSC_CTR_NC_SS_MT_ESTABLISHED]); } else { + struct osmo_gsup_message gsup_msg; + LOG_MSC_A_CAT(msc_a, DSS, LOGL_DEBUG, "Paging expired\n"); - /* TODO: inform HLR about this failure */ + gsup_msg = (struct osmo_gsup_message){ + .message_class = OSMO_GSUP_MESSAGE_CLASS_USSD, + .message_type = OSMO_GSUP_MSGT_PROC_SS_ERROR, + + .session_state = OSMO_GSUP_SESSION_STATE_END, + .session_id = trans->callref, + /* FIXME: we need message class specific cause values */ + .cause = GMM_CAUSE_IMPL_DETACHED, + }; + + /* Fill in subscriber's IMSI */ + OSMO_STRLCPY_ARRAY(gsup_msg.imsi, trans->vsub->imsi); + + /* Inform HLR/EUSE about the failure */ + gsup_client_mux_tx(trans->net->gcm, _msg); msgb_free(trans->ss.msg); trans->ss.msg = NULL; -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14475 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ie2ac06aadb18251310e0cfd85bb0d9865470aab7 Gerrit-Change-Number: 14475 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange
Change in ...osmo-msc[master]: libmsc/paging.c: cosmetic: actually use default branch of switch
laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/14469 ) Change subject: libmsc/paging.c: cosmetic: actually use default branch of switch .. libmsc/paging.c: cosmetic: actually use default branch of switch Change-Id: I9b566885f722a28816760532b645f606fdf4faeb --- M src/libmsc/paging.c 1 file changed, 2 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/libmsc/paging.c b/src/libmsc/paging.c index 94406ad..667acd1 100644 --- a/src/libmsc/paging.c +++ b/src/libmsc/paging.c @@ -69,11 +69,9 @@ case OSMO_RAT_EUTRAN_SGS: return sgs_iface_tx_paging(vsub, sgs_serv_ind_from_paging_cause(pr->cause)); default: - break; + LOG_PAGING(vsub, pr, LOGL_ERROR, " Cannot page, subscriber not attached\n"); + return -EINVAL; } - - LOG_PAGING(vsub, pr, LOGL_ERROR, " Cannot page, subscriber not attached\n"); - return -EINVAL; } struct paging_request *paging_request_start(struct vlr_subscr *vsub, enum paging_cause cause, -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14469 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I9b566885f722a28816760532b645f606fdf4faeb Gerrit-Change-Number: 14469 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged
Change in ...osmo-msc[master]: libmsc/paging.c: cosmetic: remove leading space in log line
laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14470 ) Change subject: libmsc/paging.c: cosmetic: remove leading space in log line .. Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14470 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ie7816f3b30a6c6ac5175646b479eb9a3e76429e1 Gerrit-Change-Number: 14470 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 15 Jun 2019 18:42:33 + Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
Change in ...osmo-msc[master]: libmsc/paging.c: avoid double zero-initialization
laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/14468 ) Change subject: libmsc/paging.c: avoid double zero-initialization .. libmsc/paging.c: avoid double zero-initialization Change-Id: Icc839370fc39ab57078ec6deeac337ed2f37793c --- M src/libmsc/paging.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/libmsc/paging.c b/src/libmsc/paging.c index 5baa0dc..94406ad 100644 --- a/src/libmsc/paging.c +++ b/src/libmsc/paging.c @@ -84,7 +84,7 @@ struct paging_request *pr; struct gsm_network *net = vsub->vlr->user_ctx; - pr = talloc_zero(vsub, struct paging_request); + pr = talloc(vsub, struct paging_request); OSMO_ASSERT(pr); *pr = (struct paging_request){ .label = label, -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14468 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Icc839370fc39ab57078ec6deeac337ed2f37793c Gerrit-Change-Number: 14468 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged
Change in ...osmo-msc[master]: libmsc/paging.c: cosmetic: actually use default branch of switch
laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14469 ) Change subject: libmsc/paging.c: cosmetic: actually use default branch of switch .. Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14469 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I9b566885f722a28816760532b645f606fdf4faeb Gerrit-Change-Number: 14469 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 15 Jun 2019 18:42:24 + Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
Change in ...osmo-msc[master]: libmsc/paging.c: cosmetic: remove leading space in log line
laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/14470 ) Change subject: libmsc/paging.c: cosmetic: remove leading space in log line .. libmsc/paging.c: cosmetic: remove leading space in log line Change-Id: Ie7816f3b30a6c6ac5175646b479eb9a3e76429e1 --- M src/libmsc/paging.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/libmsc/paging.c b/src/libmsc/paging.c index 667acd1..182b036 100644 --- a/src/libmsc/paging.c +++ b/src/libmsc/paging.c @@ -69,7 +69,7 @@ case OSMO_RAT_EUTRAN_SGS: return sgs_iface_tx_paging(vsub, sgs_serv_ind_from_paging_cause(pr->cause)); default: - LOG_PAGING(vsub, pr, LOGL_ERROR, " Cannot page, subscriber not attached\n"); + LOG_PAGING(vsub, pr, LOGL_ERROR, "Cannot page, subscriber not attached\n"); return -EINVAL; } } -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14470 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ie7816f3b30a6c6ac5175646b479eb9a3e76429e1 Gerrit-Change-Number: 14470 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged
Change in ...osmo-msc[master]: libmsc/msc_a.c: fix: remove dummy allstate_action of msc_a_fsm
laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/14472 ) Change subject: libmsc/msc_a.c: fix: remove dummy allstate_action of msc_a_fsm .. libmsc/msc_a.c: fix: remove dummy allstate_action of msc_a_fsm Since [1] has been merged to libosmocore, it was discovered that the 'msc_a' FSM has a dummy 'allstate_action' handler assigned, but 'allstate_event_mask' is 0x00 at the same time. It basically doesn't make any sense, and moreover does cause warnings and build failures. [1] https://git.osmocom.org/libosmocore/commit/?id=b3f94eb39e19366c3458643ee329a73155d46ff8 [1] https://gerrit.osmocom.org/#/c/libosmocore/+/14361/ Change-Id: Ieb81b7a07ced1c40ba70d2adb0df68160ee62118 --- M src/libmsc/msc_a.c 1 file changed, 0 insertions(+), 13 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/libmsc/msc_a.c b/src/libmsc/msc_a.c index b311df3..bd69eed 100644 --- a/src/libmsc/msc_a.c +++ b/src/libmsc/msc_a.c @@ -809,16 +809,6 @@ osmo_fsm_inst_term(fi, OSMO_FSM_TERM_REGULAR, fi); } -void msc_a_fsm_allstate_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) -{ - //struct msc_a *a = msc_a_fi_priv(fi); - switch (event) { - - default: - return; - } -} - void msc_a_fsm_cleanup(struct osmo_fsm_inst *fi, enum osmo_fsm_term_cause cause) { struct msc_a *msc_a = msc_a_fi_priv(fi); @@ -991,9 +981,6 @@ .num_states = ARRAY_SIZE(msc_a_fsm_states), .log_subsys = DMSC, .event_names = msc_a_fsm_event_names, - .allstate_action = msc_a_fsm_allstate_action, - .allstate_event_mask = 0 - , .timer_cb = msc_a_fsm_timer_cb, .cleanup = msc_a_fsm_cleanup, }; -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14472 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ieb81b7a07ced1c40ba70d2adb0df68160ee62118 Gerrit-Change-Number: 14472 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged
Change in ...osmo-msc[master]: libmsc/paging.c: avoid double zero-initialization
laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14468 ) Change subject: libmsc/paging.c: avoid double zero-initialization .. Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14468 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Icc839370fc39ab57078ec6deeac337ed2f37793c Gerrit-Change-Number: 14468 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 15 Jun 2019 18:42:04 + Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
Change in ...libosmocore[master]: Revert "fsm.c: Print error message for FSM with allstate_action but n...
laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmocore/+/14473 ) Change subject: Revert "fsm.c: Print error message for FSM with allstate_action but no events" .. Revert "fsm.c: Print error message for FSM with allstate_action but no events" This reverts commit b3f94eb39e19366c3458643ee329a73155d46ff8, that unfortunately breaks some projects which call osmo_fsm_register() on DSO load (i.e. using __attribute__((constructor))) before the logging is initialized. Change-Id: Idc6fcce7e946c23d48589b920e309d60aa7b6645 --- M src/fsm.c 1 file changed, 0 insertions(+), 11 deletions(-) Approvals: fixeria: Looks good to me, approved laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/fsm.c b/src/fsm.c index 04c583b..337786d 100644 --- a/src/fsm.c +++ b/src/fsm.c @@ -256,17 +256,6 @@ return -EEXIST; if (fsm->event_names == NULL) LOGP(DLGLOBAL, LOGL_ERROR, "FSM '%s' has no event names! Please fix!\n", fsm->name); - - if (fsm->allstate_action && !fsm->allstate_event_mask) { - LOGP(DLGLOBAL, LOGL_ERROR, "FSM '%s' has allstate_action but no allstate_event_mask\n", - fsm->name); - } - - if (!fsm->allstate_action && fsm->allstate_event_mask) { - LOGP(DLGLOBAL, LOGL_ERROR, "FSM '%s' has allstate_event_mask but no allstate_action\n", - fsm->name); - } - llist_add_tail(>list, _g_fsms); INIT_LLIST_HEAD(>instances); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14473 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Idc6fcce7e946c23d48589b920e309d60aa7b6645 Gerrit-Change-Number: 14473 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged
Change in ...libosmocore[master]: Revert "fsm.c: Print error message for FSM with allstate_action but n...
laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14473 ) Change subject: Revert "fsm.c: Print error message for FSM with allstate_action but no events" .. Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14473 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Idc6fcce7e946c23d48589b920e309d60aa7b6645 Gerrit-Change-Number: 14473 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 15 Jun 2019 18:40:45 + Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
Change in ...libosmocore[master]: Revert "fsm.c: Print error message for FSM with allstate_action but n...
fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14473 ) Change subject: Revert "fsm.c: Print error message for FSM with allstate_action but no events" .. Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14473 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Idc6fcce7e946c23d48589b920e309d60aa7b6645 Gerrit-Change-Number: 14473 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: fixeria Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Sat, 15 Jun 2019 18:05:54 + Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
Change in ...libosmocore[master]: Revert "fsm.c: Print error message for FSM with allstate_action but n...
fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/14473 Change subject: Revert "fsm.c: Print error message for FSM with allstate_action but no events" .. Revert "fsm.c: Print error message for FSM with allstate_action but no events" This reverts commit b3f94eb39e19366c3458643ee329a73155d46ff8, that unfortunately breaks some projects which call osmo_fsm_register() on DSO load (i.e. using __attribute__((constructor))) before the logging is initialized. Change-Id: Idc6fcce7e946c23d48589b920e309d60aa7b6645 --- M src/fsm.c 1 file changed, 0 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/73/14473/1 diff --git a/src/fsm.c b/src/fsm.c index 04c583b..337786d 100644 --- a/src/fsm.c +++ b/src/fsm.c @@ -256,17 +256,6 @@ return -EEXIST; if (fsm->event_names == NULL) LOGP(DLGLOBAL, LOGL_ERROR, "FSM '%s' has no event names! Please fix!\n", fsm->name); - - if (fsm->allstate_action && !fsm->allstate_event_mask) { - LOGP(DLGLOBAL, LOGL_ERROR, "FSM '%s' has allstate_action but no allstate_event_mask\n", - fsm->name); - } - - if (!fsm->allstate_action && fsm->allstate_event_mask) { - LOGP(DLGLOBAL, LOGL_ERROR, "FSM '%s' has allstate_event_mask but no allstate_action\n", - fsm->name); - } - llist_add_tail(>list, _g_fsms); INIT_LLIST_HEAD(>instances); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14473 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Idc6fcce7e946c23d48589b920e309d60aa7b6645 Gerrit-Change-Number: 14473 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange
Change in ...osmo-msc[master]: libmsc/msc_a.c: fix: remove dummy allstate_action of msc_a_fsm
laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14472 ) Change subject: libmsc/msc_a.c: fix: remove dummy allstate_action of msc_a_fsm .. Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14472 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ieb81b7a07ced1c40ba70d2adb0df68160ee62118 Gerrit-Change-Number: 14472 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 15 Jun 2019 17:53:02 + Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
Change in ...osmo-msc[master]: libmsc/msc_a.c: fix: remove dummy allstate_action of msc_a_fsm
fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/14472 Change subject: libmsc/msc_a.c: fix: remove dummy allstate_action of msc_a_fsm .. libmsc/msc_a.c: fix: remove dummy allstate_action of msc_a_fsm Since [1] has been merged to libosmocore, it was discovered that the 'msc_a' FSM has a dummy 'allstate_action' handler assigned, but 'allstate_event_mask' is 0x00 at the same time. It basically doesn't make any sense, and moreover does cause warnings and build failures. [1] https://git.osmocom.org/libosmocore/commit/?id=b3f94eb39e19366c3458643ee329a73155d46ff8 [1] https://gerrit.osmocom.org/#/c/libosmocore/+/14361/ Change-Id: Ieb81b7a07ced1c40ba70d2adb0df68160ee62118 --- M src/libmsc/msc_a.c 1 file changed, 0 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/72/14472/1 diff --git a/src/libmsc/msc_a.c b/src/libmsc/msc_a.c index b311df3..bd69eed 100644 --- a/src/libmsc/msc_a.c +++ b/src/libmsc/msc_a.c @@ -809,16 +809,6 @@ osmo_fsm_inst_term(fi, OSMO_FSM_TERM_REGULAR, fi); } -void msc_a_fsm_allstate_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) -{ - //struct msc_a *a = msc_a_fi_priv(fi); - switch (event) { - - default: - return; - } -} - void msc_a_fsm_cleanup(struct osmo_fsm_inst *fi, enum osmo_fsm_term_cause cause) { struct msc_a *msc_a = msc_a_fi_priv(fi); @@ -991,9 +981,6 @@ .num_states = ARRAY_SIZE(msc_a_fsm_states), .log_subsys = DMSC, .event_names = msc_a_fsm_event_names, - .allstate_action = msc_a_fsm_allstate_action, - .allstate_event_mask = 0 - , .timer_cb = msc_a_fsm_timer_cb, .cleanup = msc_a_fsm_cleanup, }; -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14472 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ieb81b7a07ced1c40ba70d2adb0df68160ee62118 Gerrit-Change-Number: 14472 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange
Change in ...libosmocore[master]: Add Cell Broadcast related definitions from 3GPP TS 23.041
laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/14471 Change subject: Add Cell Broadcast related definitions from 3GPP TS 23.041 .. Add Cell Broadcast related definitions from 3GPP TS 23.041 Change-Id: I1e2c62cb9047648907c91b99f764f6caba8f4493 --- M include/Makefile.am A include/osmocom/gsm/protocol/gsm_23_041.h 2 files changed, 90 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/71/14471/1 diff --git a/include/Makefile.am b/include/Makefile.am index 7835fab..a82d6ac 100644 --- a/include/Makefile.am +++ b/include/Makefile.am @@ -123,6 +123,7 @@ osmocom/gsm/protocol/gsm_09_02.h \ osmocom/gsm/protocol/gsm_12_21.h \ osmocom/gsm/protocol/gsm_23_003.h \ + osmocom/gsm/protocol/gsm_23_041.h \ osmocom/gsm/protocol/gsm_29_118.h \ osmocom/gsm/protocol/gsm_44_318.h \ osmocom/gsm/protocol/gsm_48_049.h \ diff --git a/include/osmocom/gsm/protocol/gsm_23_041.h b/include/osmocom/gsm/protocol/gsm_23_041.h new file mode 100644 index 000..c75c088 --- /dev/null +++ b/include/osmocom/gsm/protocol/gsm_23_041.h @@ -0,0 +1,89 @@ +#pragma once + +/* Section 9.4.1.2: GSM Message Format */ +struct gsm23041_msg_param_gsm { + uint16_t serial_nr; + uint16_t message_id; + uint8_t dcs; + struct { +#if OSMO_IS_LITTLE_ENDIAN + uint8_t num_pages:4, + page_nr:4; +#else + uint8_t page_nr:4, + num_pages:4; +#endif + } page_param; + uint8_t content[0]; +} __attribute__ ((packed)); + +/* Section 9.4.1.2.2 Message Identifier */ +enum { + /* 0 - 999: Allocated by GSM AD.26 */ + CBS_MSGID_LCS_EOTD_ASSIST = 1000, + CBS_MSGID_LCS_DGPS_CORRECTION = 1001, + CBS_MSGID_LCS_GPS_EPHEM_CLOCK = 1002, + CBS_MSGID_LCS_GPS_ALMANAC_OTHER = 1003, + /* 1004 - 4095: RFU */ + /* 4096 - 4223: clear text SIM data download */ + /* 4224 - 4351: secured SIM data download */ + CBS_MSGID_ETWS_EARTHQUAKE = 4352, + CBS_MSGID_ETWS_TSUNAMI = 4353, + CBS_MSGID_ETWS_EARTHQUAKE_TSUNAMI = 4354, + CBS_MSGID_ETWS_TEST = 4355, + CBS_MSGID_ETWS_OTHER= 4356, + /* 4357 - 4359: ETWS RFU */ + /* 4360 - 4369: RFU */ + CBS_MSGID_CMAS_PRESIDENTIAL = 4370, + CBS_MSGID_CMAS_EXTREME_IMMEDIATE_OBSERVED = 4371, + CBS_MSGID_CMAS_EXTREME_IMMEDIATE_LIKELY = 4372, + CBS_MSGID_CMAS_EXTREME_EXPECTED_OBSERVED= 4373, + CBS_MSGID_CMAS_EXTREME_EXPECTED_LIKELY = 4374, + CBS_MSGID_CMAS_SEVERE_IMMEDIATE_OBSERVED= 4375, + CBS_MSGID_CMAS_SEVERE_IMMEDIATE_LIKELY = 4376, + CBS_MSGID_CMAS_SEVERE_EXPECTED_OBSERVED = 4377, + CBS_MSGID_CMAS_SEVERE_EXPECTED_LIKELY = 4378, + CBS_MSGID_CMAS_AMBER= 4379, + CBS_MSGID_CMAS_MONTHLY_TEST = 4380, + CBS_MSGID_CMAS_EXERCISE = 4381, + CBS_MSGID_CMAS_OPERATOR_DEFINED = 4382, + CBS_MSGID_CMAS_PRESIDENTIAL_ADDL= 4383, + CBS_MSGID_CMAS_EXTREME_IMMEDIATE_OBSERVED_ADDL = 4384, + CBS_MSGID_CMAS_EXTREME_IMMEDIATE_LIKELY_ADDL= 4385, + CBS_MSGID_CMAS_EXTREME_EXPECTED_OBSERVED_ADDL = 4386, + CBS_MSGID_CMAS_EXTREME_EXPECTED_LIKELY_ADDL = 4387, + CBS_MSGID_CMAS_SEVERE_IMMEDIATE_OBSERVED_ADDL = 4388, + CBS_MSGID_CMAS_SEVERE_IMMEDIATE_LIKELY_ADDL = 4389, + CBS_MSGID_CMAS_SEVERE_EXPECTED_OBSERVED_ADDL= 4390, + CBS_MSGID_CMAS_SEVERE_EXPECTED_LIKELY_ADDL = 4391, + CBS_MSGID_CMAS_AMBER_ADDL = 4392, + CBS_MSGID_CMAS_MONTHLY_TEST_ADDL= 4393, + CBS_MSGID_CMAS_EXERCISE_ADDL= 4394, + CBS_MSGID_CMAS_OPERATOR_DEFINED_ADDL= 4395, + /* 4396 - 4399: RFU CMAS / EU-Alert */ + /* 4400 - 6399: RFU PWS */ + CBS_MSGID_EU_INFO_LOCAL_LANG= 6400, + /* 6491 - 40959: RFU */ + /* 40960 - 45055: PLMN operator specific range */ + /* 45056 - 61439: PLMN operator specific range RFU */ + /* 61440 - 65534: PLMN operator specific range */ + CBS_MSGID_RESERVED = 65535 +}; + +/* Section 9.4.1.3.2 ETWS Primary Notification Message Parameter */ +struct gsm23041_etws_primary_gsm { + uint16_t serial_nr; + uint16_t message_id; + uint16_t warning_type; + uint8_t warning_sec_info[50]; +} __attribute__ ((packed)); + + +/* Section 9.4.2.2 UMTS Message Parameter */ +struct gsm23041_msg_param_umts { + uint8_t msg_type;
Change in ...libosmocore[master]: WIP: CBSP (3GPP TS 48.049) support
Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/14360 to look at the new patch set (#2). Change subject: WIP: CBSP (3GPP TS 48.049) support .. WIP: CBSP (3GPP TS 48.049) support This introduces definitions as well as a parser/encoder for the Cell Broadcast Service Protocol (CBSP) as specified in 3GPP TS 48.049. CBSP is used on the interface between CBC and BSC. Related: OS#3537 Change-Id: I5b7ae08f67e415967b60ac4b824db9e22ca00935 --- M include/Makefile.am A include/osmocom/gsm/cbsp.h A include/osmocom/gsm/protocol/gsm_48_049.h M src/gsm/Makefile.am A src/gsm/cbsp.c A src/gsm/gsm48049.c M src/gsm/libosmogsm.map 7 files changed, 1,900 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/60/14360/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14360 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I5b7ae08f67e415967b60ac4b824db9e22ca00935 Gerrit-Change-Number: 14360 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset
Change in ...osmo-msc[master]: libmsc/paging.c: cosmetic: remove leading space in log line
fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/14470 Change subject: libmsc/paging.c: cosmetic: remove leading space in log line .. libmsc/paging.c: cosmetic: remove leading space in log line Change-Id: Ie7816f3b30a6c6ac5175646b479eb9a3e76429e1 --- M src/libmsc/paging.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/70/14470/1 diff --git a/src/libmsc/paging.c b/src/libmsc/paging.c index 667acd1..182b036 100644 --- a/src/libmsc/paging.c +++ b/src/libmsc/paging.c @@ -69,7 +69,7 @@ case OSMO_RAT_EUTRAN_SGS: return sgs_iface_tx_paging(vsub, sgs_serv_ind_from_paging_cause(pr->cause)); default: - LOG_PAGING(vsub, pr, LOGL_ERROR, " Cannot page, subscriber not attached\n"); + LOG_PAGING(vsub, pr, LOGL_ERROR, "Cannot page, subscriber not attached\n"); return -EINVAL; } } -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14470 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ie7816f3b30a6c6ac5175646b479eb9a3e76429e1 Gerrit-Change-Number: 14470 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange
Change in ...osmo-msc[master]: libmsc/paging.c: cosmetic: actually use default branch of switch
fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/14469 Change subject: libmsc/paging.c: cosmetic: actually use default branch of switch .. libmsc/paging.c: cosmetic: actually use default branch of switch Change-Id: I9b566885f722a28816760532b645f606fdf4faeb --- M src/libmsc/paging.c 1 file changed, 2 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/69/14469/1 diff --git a/src/libmsc/paging.c b/src/libmsc/paging.c index 94406ad..667acd1 100644 --- a/src/libmsc/paging.c +++ b/src/libmsc/paging.c @@ -69,11 +69,9 @@ case OSMO_RAT_EUTRAN_SGS: return sgs_iface_tx_paging(vsub, sgs_serv_ind_from_paging_cause(pr->cause)); default: - break; + LOG_PAGING(vsub, pr, LOGL_ERROR, " Cannot page, subscriber not attached\n"); + return -EINVAL; } - - LOG_PAGING(vsub, pr, LOGL_ERROR, " Cannot page, subscriber not attached\n"); - return -EINVAL; } struct paging_request *paging_request_start(struct vlr_subscr *vsub, enum paging_cause cause, -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14469 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I9b566885f722a28816760532b645f606fdf4faeb Gerrit-Change-Number: 14469 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange
Change in ...osmo-msc[master]: libmsc/msc_net_init.c: pass pointer to gsm_network directly
fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/14467 Change subject: libmsc/msc_net_init.c: pass pointer to gsm_network directly .. libmsc/msc_net_init.c: pass pointer to gsm_network directly Change-Id: I122d2880b356997c60df5f0cf4f5ecb3abb2e672 --- M src/libmsc/gsm_04_11_gsup.c M src/libmsc/gsm_09_11.c M src/libmsc/msc_net_init.c 3 files changed, 12 insertions(+), 31 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/67/14467/1 diff --git a/src/libmsc/gsm_04_11_gsup.c b/src/libmsc/gsm_04_11_gsup.c index b4d74c7..331092a 100644 --- a/src/libmsc/gsm_04_11_gsup.c +++ b/src/libmsc/gsm_04_11_gsup.c @@ -117,19 +117,13 @@ } /* Triggers either RP-ACK or RP-ERROR on response from SMSC */ -static int gsm411_gsup_mo_handler(struct vlr_subscr *vsub, - const struct osmo_gsup_message *gsup_msg) +static int gsm411_gsup_mo_handler(struct gsm_network *net, struct vlr_subscr *vsub, + const struct osmo_gsup_message *gsup_msg) { - struct vlr_instance *vlr; - struct gsm_network *net; struct gsm_trans *trans; const char *msg_name; bool msg_is_err; - /* Obtain required pointers */ - vlr = vsub->vlr; - net = (struct gsm_network *) vlr->user_ctx; - /* Associate logging messages with this subscriber */ log_set_context(LOG_CTX_VLR_SUBSCR, vsub); @@ -230,16 +224,12 @@ } /* Handles MT SMS (and triggers Paging Request if required) */ -static int gsm411_gsup_mt_handler(struct vlr_subscr *vsub, - const struct osmo_gsup_message *gsup_msg) +static int gsm411_gsup_mt_handler(struct gsm_network *net, struct vlr_subscr *vsub, + const struct osmo_gsup_message *gsup_msg) { - struct gsm_network *net; bool sm_rp_mmts_ind; int rc; - /* Obtain required pointers */ - net = (struct gsm_network *) vsub->vlr->user_ctx; - /* Associate logging messages with this subscriber */ log_set_context(LOG_CTX_VLR_SUBSCR, vsub); @@ -296,8 +286,8 @@ int gsm411_gsup_rx(struct gsup_client_mux *gcm, void *data, const struct osmo_gsup_message *gsup_msg) { - struct vlr_instance *vlr = data; - struct vlr_subscr *vsub = vlr_subscr_find_by_imsi(vlr, gsup_msg->imsi, __func__); + struct gsm_network *net = (struct gsm_network *) data; + struct vlr_subscr *vsub = vlr_subscr_find_by_imsi(net->vlr, gsup_msg->imsi, __func__); if (!vsub) { LOGP(DLSMS, LOGL_ERROR, "Rx %s for unknown subscriber, rejecting\n", @@ -313,12 +303,12 @@ case OSMO_GSUP_MSGT_READY_FOR_SM_ERROR: case OSMO_GSUP_MSGT_READY_FOR_SM_RESULT: DEBUGP(DMSC, "Routed to GSM 04.11 MO handler\n"); - return gsm411_gsup_mo_handler(vsub, gsup_msg); + return gsm411_gsup_mo_handler(net, vsub, gsup_msg); /* GSM 04.11 code implementing MT SMS */ case OSMO_GSUP_MSGT_MT_FORWARD_SM_REQUEST: DEBUGP(DMSC, "Routed to GSM 04.11 MT handler\n"); - return gsm411_gsup_mt_handler(vsub, gsup_msg); + return gsm411_gsup_mt_handler(net, vsub, gsup_msg); default: LOGP(DMM, LOGL_ERROR, "No handler found for %s, dropping message...\n", diff --git a/src/libmsc/gsm_09_11.c b/src/libmsc/gsm_09_11.c index 4f9f127..a46207e 100644 --- a/src/libmsc/gsm_09_11.c +++ b/src/libmsc/gsm_09_11.c @@ -403,14 +403,13 @@ int gsm0911_gsup_rx(struct gsup_client_mux *gcm, void *data, const struct osmo_gsup_message *gsup_msg) { - struct vlr_instance *vlr = data; - struct gsm_network *net; + struct gsm_network *net = (struct gsm_network *) data; struct gsm_trans *trans; struct gsm48_hdr *gh; struct msgb *ss_msg; bool trans_end; struct msc_a *msc_a; - struct vlr_subscr *vsub = vlr_subscr_find_by_imsi(vlr, gsup_msg->imsi, __func__); + struct vlr_subscr *vsub = vlr_subscr_find_by_imsi(net->vlr, gsup_msg->imsi, __func__); if (!vsub) { LOGP(DSS, LOGL_ERROR, "Rx %s for unknown subscriber, rejecting\n", @@ -422,14 +421,6 @@ /* Associate logging messages with this subscriber */ log_set_context(LOG_CTX_VLR_SUBSCR, vsub); - /* Obtain pointer to vlr_instance */ - vlr = vsub->vlr; - OSMO_ASSERT(vlr); - - /* Obtain pointer to gsm_network */ - net = (struct gsm_network *) vlr->user_ctx; - OSMO_ASSERT(net); - /* Handle errors */ if (OSMO_GSUP_IS_MSGT_ERROR(gsup_msg->message_type)) { /* FIXME: handle this error somehow! */ diff --git a/src/libmsc/msc_net_init.c b/src/libmsc/msc_net_init.c index 637ee74..4a752bf 100644 --- a/src/libmsc/msc_net_init.c +++ b/src/libmsc/msc_net_init.c @@ -117,8 +117,8 @@ .rx_cb = { /*
Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: drop rudimentary vsub->cgi.lai.lac check
Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-msc/+/14465 to look at the new patch set (#2). Change subject: libmsc/gsm_09_11.c: drop rudimentary vsub->cgi.lai.lac check .. libmsc/gsm_09_11.c: drop rudimentary vsub->cgi.lai.lac check This check was copy-pasted either from CC, or from SMS handling code during the initial development of "SS/USSD over GSUP". Now this is the only one survived after the recent refactoring. I doubt this is exactly the right way to check whether subscriber is attached or not. Moreover, this check should rather be done in a single place, rather then in each CC/SS/SMS handler separately. Change-Id: I7bd48860e923cb1f1a5bccc4b0f497ec1a7bcf84 --- M src/libmsc/gsm_09_11.c 1 file changed, 0 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/65/14465/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14465 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I7bd48860e923cb1f1a5bccc4b0f497ec1a7bcf84 Gerrit-Change-Number: 14465 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset
Change in ...osmo-msc[master]: libmsc/gsm_04_08.c: clean up unused leftover includes
laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/14462 ) Change subject: libmsc/gsm_04_08.c: clean up unused leftover includes .. libmsc/gsm_04_08.c: clean up unused leftover includes During the recent refactoring, some code parts has been moved out of 'gsm_04_08.c', but the related header files were forgotten. Change-Id: I61e728069a1e79bf72c01ef9d9fc5fb171d3892e --- M src/libmsc/gsm_04_08.c 1 file changed, 0 insertions(+), 13 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/libmsc/gsm_04_08.c b/src/libmsc/gsm_04_08.c index 68b12c0..57dff41 100644 --- a/src/libmsc/gsm_04_08.c +++ b/src/libmsc/gsm_04_08.c @@ -29,32 +29,19 @@ #include #include #include -#include #include #include "config.h" -#include #include #include -#include -#include #include -#include -#include -#include #include #include -#include -#include -#include -#include #include #include -#include #include -#include #include #include #include -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14462 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I61e728069a1e79bf72c01ef9d9fc5fb171d3892e Gerrit-Change-Number: 14462 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged
Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: drop rudimantary vsub->cgi.lai.lac check
laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14465 ) Change subject: libmsc/gsm_09_11.c: drop rudimantary vsub->cgi.lai.lac check .. Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/#/c/14465/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/14465/1//COMMIT_MSG@7 PS1, Line 7: rudimantary rudimentary -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14465 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I7bd48860e923cb1f1a5bccc4b0f497ec1a7bcf84 Gerrit-Change-Number: 14465 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 15 Jun 2019 11:23:29 + Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: log network-originated session establishment error
laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14464 ) Change subject: libmsc/gsm_09_11.c: log network-originated session establishment error .. Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14464 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I090c25de3421f770115ed68a7ecc050694cedff7 Gerrit-Change-Number: 14464 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 15 Jun 2019 11:22:44 + Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: do not abuse LOG_TRANS() and early trans allocation
laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14463 ) Change subject: libmsc/gsm_09_11.c: do not abuse LOG_TRANS() and early trans allocation .. Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14463 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I4e027b19e8065a39324a1647957cef4066b82ce7 Gerrit-Change-Number: 14463 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 15 Jun 2019 11:22:32 + Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
Change in ...osmo-msc[master]: libmsc/gsm_04_08.c: clean up unused leftover includes
laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14462 ) Change subject: libmsc/gsm_04_08.c: clean up unused leftover includes .. Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14462 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I61e728069a1e79bf72c01ef9d9fc5fb171d3892e Gerrit-Change-Number: 14462 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 15 Jun 2019 11:21:02 + Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
Change in ...libosmocore[master]: fsm.c: Print error message for FSM with allstate_action but no events
laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmocore/+/14361 ) Change subject: fsm.c: Print error message for FSM with allstate_action but no events .. fsm.c: Print error message for FSM with allstate_action but no events As suggested by Vadim while reviewing a related fix for ipa_keepalive.c in libosmo-abis (see https://gerrit.osmocom.org/#/c/libosmo-abis/+/13540/), it makes sense to print an error message if anyone registers a FSM that specifies an allstate_action callback but at the same time no events that would ever end up in that callback. Change-Id: I9e73f7363ab15a00843e3f0d1e5776f4be7ebc46 --- M src/fsm.c 1 file changed, 11 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/fsm.c b/src/fsm.c index 337786d..04c583b 100644 --- a/src/fsm.c +++ b/src/fsm.c @@ -256,6 +256,17 @@ return -EEXIST; if (fsm->event_names == NULL) LOGP(DLGLOBAL, LOGL_ERROR, "FSM '%s' has no event names! Please fix!\n", fsm->name); + + if (fsm->allstate_action && !fsm->allstate_event_mask) { + LOGP(DLGLOBAL, LOGL_ERROR, "FSM '%s' has allstate_action but no allstate_event_mask\n", + fsm->name); + } + + if (!fsm->allstate_action && fsm->allstate_event_mask) { + LOGP(DLGLOBAL, LOGL_ERROR, "FSM '%s' has allstate_event_mask but no allstate_action\n", + fsm->name); + } + llist_add_tail(>list, _g_fsms); INIT_LLIST_HEAD(>instances); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14361 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I9e73f7363ab15a00843e3f0d1e5776f4be7ebc46 Gerrit-Change-Number: 14361 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged
Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: do not abuse LOG_TRANS() and early trans allocation
fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/14463 Change subject: libmsc/gsm_09_11.c: do not abuse LOG_TRANS() and early trans allocation .. libmsc/gsm_09_11.c: do not abuse LOG_TRANS() and early trans allocation In case of network-originated SS/USSD session establishment, we need to verify the received GSUP PROC_SS_REQ message and make sure that all mandatory IEs are present. There is no sensible need to allocate a new transaction before doing all the checks. This complicates the code. Change-Id: I4e027b19e8065a39324a1647957cef4066b82ce7 --- M src/libmsc/gsm_09_11.c M tests/msc_vlr/msc_vlr_test_ss.err 2 files changed, 22 insertions(+), 31 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/63/14463/1 diff --git a/src/libmsc/gsm_09_11.c b/src/libmsc/gsm_09_11.c index 4a7c348..9acff0c 100644 --- a/src/libmsc/gsm_09_11.c +++ b/src/libmsc/gsm_09_11.c @@ -317,53 +317,44 @@ struct gsm_trans *trans, *transt; int tid; - /* Allocate transaction first, for log context */ - trans = trans_alloc(net, vsub, TRANS_USSD, - TRANS_ID_UNASSIGNED, gsup_msg->session_id); - - if (!trans) { - LOG_TRANS(trans, LOGL_ERROR, " -> No memory for trans\n"); - return NULL; - } - if (gsup_msg->session_state != OSMO_GSUP_SESSION_STATE_BEGIN) { - LOG_TRANS(trans, LOGL_ERROR, "Received non-BEGIN message " - "for non-existing transaction\n"); - trans_free(trans); + LOGP(DSS, LOGL_ERROR, "Received non-BEGIN message for non-existing transaction\n"); return NULL; } + LOGP(DSS, LOGL_DEBUG, "Establishing a network-originated session (id=0x%x) " + "with subscriber %s\n", gsup_msg->session_id, + vlr_subscr_name(vsub)); + if (!gsup_msg->ss_info || gsup_msg->ss_info_len < 2) { - LOG_TRANS(trans, LOGL_ERROR, "Missing mandatory Facility IE\n"); - trans_free(trans); + LOGP(DSS, LOGL_ERROR, "Missing mandatory Facility IE\n"); return NULL; } /* If subscriber is not "attached" */ if (!vsub->cgi.lai.lac) { - LOG_TRANS(trans, LOGL_ERROR, "Network-originated session " + LOGP(DSS, LOGL_ERROR, "Network-originated session " "rejected - subscriber is not attached\n"); - trans_free(trans); return NULL; } - LOG_TRANS(trans, LOGL_DEBUG, "Establishing network-originated session\n"); + /* Obtain an unused transaction ID */ + tid = trans_assign_trans_id(net, vsub, TRANS_USSD); + if (tid < 0) { + LOGP(DSS, LOGL_ERROR, "No free transaction ID\n"); + return NULL; + } + + /* Allocate a new NCSS transaction */ + trans = trans_alloc(net, vsub, TRANS_USSD, tid, gsup_msg->session_id); + if (!trans) { + LOGP(DSS, LOGL_ERROR, " -> No memory for trans\n"); + return NULL; + } /* Count active NC SS/USSD sessions */ osmo_counter_inc(net->active_nc_ss); - /* Assign transaction ID */ - tid = trans_assign_trans_id(trans->net, trans->vsub, TRANS_USSD); - if (tid < 0) { - LOG_TRANS(trans, LOGL_ERROR, "No free transaction ID\n"); - /* TODO: inform HLR about this */ - /* TODO: release connection with subscriber */ - trans->callref = 0; - trans_free(trans); - return NULL; - } - trans->transaction_id = tid; - /* Init inactivity timer */ osmo_timer_setup(>ss.timer_guard, ncss_session_timeout_handler, trans); diff --git a/tests/msc_vlr/msc_vlr_test_ss.err b/tests/msc_vlr/msc_vlr_test_ss.err index 1199cf1..e058e37 100644 --- a/tests/msc_vlr/msc_vlr_test_ss.err +++ b/tests/msc_vlr/msc_vlr_test_ss.err @@ -367,9 +367,9 @@ llist_count(>cs.requests) == 0 <-- GSUP rx OSMO_GSUP_MSGT_PROC_SS_REQUEST: 2001080971004026f0300421013101013515a11302010102013b300b04010f0406aa510c061b010a0103 DREF VLR subscr IMSI-90170004620:MSISDN-46071 + gsm0911_gsup_rx: now used by 3 (attached,_test_ss_ussd_no,gsm0911_gsup_rx) +DSS Establishing a network-originated session (id=0x2101) with subscriber IMSI-90170004620:MSISDN-46071 DREF VLR subscr IMSI-90170004620:MSISDN-46071 + NCSS: now used by 4 (attached,_test_ss_ussd_no,gsm0911_gsup_rx,NCSS) -DSS trans(NCSS IMSI-90170004620:MSISDN-46071 callref-0x2101 tid-255) New transaction -DSS trans(NCSS IMSI-90170004620:MSISDN-46071 callref-0x2101 tid-255) Establishing network-originated session +DSS trans(NCSS IMSI-90170004620:MSISDN-46071 callref-0x2101 tid-0) New transaction DSS
Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: drop rudimantary vsub->cgi.lai.lac check
fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/14465 Change subject: libmsc/gsm_09_11.c: drop rudimantary vsub->cgi.lai.lac check .. libmsc/gsm_09_11.c: drop rudimantary vsub->cgi.lai.lac check This check was copy-pasted either from CC, or from SMS handling code during the initial development of "SS/USSD over GSUP". Now this is the only one survived after the recent refactoring. I doubt this is exactly the right way to check whether subscriber is attached or not. Moreover, this check should rather be done in a single place, rather then in each CC/SS/SMS handler separately. Change-Id: I7bd48860e923cb1f1a5bccc4b0f497ec1a7bcf84 --- M src/libmsc/gsm_09_11.c 1 file changed, 0 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/65/14465/1 diff --git a/src/libmsc/gsm_09_11.c b/src/libmsc/gsm_09_11.c index 866d944..87978a5 100644 --- a/src/libmsc/gsm_09_11.c +++ b/src/libmsc/gsm_09_11.c @@ -331,13 +331,6 @@ return NULL; } - /* If subscriber is not "attached" */ - if (!vsub->cgi.lai.lac) { - LOGP(DSS, LOGL_ERROR, "Network-originated session " - "rejected - subscriber is not attached\n"); - return NULL; - } - /* Obtain an unused transaction ID */ tid = trans_assign_trans_id(net, vsub, TRANS_USSD); if (tid < 0) { -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14465 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I7bd48860e923cb1f1a5bccc4b0f497ec1a7bcf84 Gerrit-Change-Number: 14465 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange
Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: drop meaningless check for concurrent paging
fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/14466 Change subject: libmsc/gsm_09_11.c: drop meaningless check for concurrent paging .. libmsc/gsm_09_11.c: drop meaningless check for concurrent paging This check was copy-pasted from the CC handling code during the initial development of "SS/USSD over GSUP" feature. It probably makes sense for MT calls, but definitely not for SS/USSD. Change-Id: I2899a23ee49fd7917443943629603700a5025cf4 --- M src/libmsc/gsm_09_11.c 1 file changed, 1 insertion(+), 15 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/66/14466/1 diff --git a/src/libmsc/gsm_09_11.c b/src/libmsc/gsm_09_11.c index 87978a5..4f9f127 100644 --- a/src/libmsc/gsm_09_11.c +++ b/src/libmsc/gsm_09_11.c @@ -314,7 +314,7 @@ struct vlr_subscr *vsub, const struct osmo_gsup_message *gsup_msg) { struct msc_a *msc_a; - struct gsm_trans *trans, *transt; + struct gsm_trans *trans; int tid; if (gsup_msg->session_state != OSMO_GSUP_SESSION_STATE_BEGIN) { @@ -364,20 +364,6 @@ LOG_TRANS(trans, LOGL_DEBUG, "Triggering Paging Request\n"); - /* Find transaction with this subscriber already paging */ - llist_for_each_entry(transt, >trans_list, entry) { - /* Transaction of our conn? */ - if (transt == trans || transt->vsub != vsub) - continue; - - LOG_TRANS(trans, LOGL_ERROR, "Paging already started, " - "rejecting message...\n"); - trans_free(trans); - /* FIXME: WTF IS THIS!? This is completely insane. Presence of a trans doesn't indicate Paging, and even -* if, why drop the current request??? */ - return NULL; - } - /* Trigger Paging Request */ trans->paging_request = paging_request_start(vsub, PAGING_CAUSE_SIGNALLING_HIGH_PRIO, ss_paging_cb, trans, "GSM 09.11 SS/USSD"); -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14466 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I2899a23ee49fd7917443943629603700a5025cf4 Gerrit-Change-Number: 14466 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange
Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: log network-originated session establishment error
fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/14464 Change subject: libmsc/gsm_09_11.c: log network-originated session establishment error .. libmsc/gsm_09_11.c: log network-originated session establishment error Change-Id: I090c25de3421f770115ed68a7ecc050694cedff7 --- M src/libmsc/gsm_09_11.c 1 file changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/64/14464/1 diff --git a/src/libmsc/gsm_09_11.c b/src/libmsc/gsm_09_11.c index 9acff0c..866d944 100644 --- a/src/libmsc/gsm_09_11.c +++ b/src/libmsc/gsm_09_11.c @@ -466,6 +466,9 @@ /* Attempt to establish a new transaction */ trans = establish_nc_ss_trans(net, vsub, gsup_msg); if (!trans) { + LOGP(DSS, LOGL_ERROR, "Failed to establish a network-originated " + "SS/USSD transaction, rejecting %s\n", + osmo_gsup_message_type_name(gsup_msg->message_type)); gsup_client_mux_tx_error_reply(gcm, gsup_msg, GMM_CAUSE_NET_FAIL); return -EINVAL; } -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14464 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I090c25de3421f770115ed68a7ecc050694cedff7 Gerrit-Change-Number: 14464 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange
Change in ...libosmocore[master]: fsm.c: Print error message for FSM with allstate_action but no events
fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14361 ) Change subject: fsm.c: Print error message for FSM with allstate_action but no events .. Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14361 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I9e73f7363ab15a00843e3f0d1e5776f4be7ebc46 Gerrit-Change-Number: 14361 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 15 Jun 2019 09:48:18 + Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
Change in ...osmo-msc[master]: libmsc/gsm_04_08.c: clean up unused leftover includes
fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/14462 Change subject: libmsc/gsm_04_08.c: clean up unused leftover includes .. libmsc/gsm_04_08.c: clean up unused leftover includes During the recent refactoring, some code parts has been moved out of 'gsm_04_08.c', but the related header files were forgotten. Change-Id: I61e728069a1e79bf72c01ef9d9fc5fb171d3892e --- M src/libmsc/gsm_04_08.c 1 file changed, 0 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/62/14462/1 diff --git a/src/libmsc/gsm_04_08.c b/src/libmsc/gsm_04_08.c index 68b12c0..57dff41 100644 --- a/src/libmsc/gsm_04_08.c +++ b/src/libmsc/gsm_04_08.c @@ -29,32 +29,19 @@ #include #include #include -#include #include #include "config.h" -#include #include #include -#include -#include #include -#include -#include -#include #include #include -#include -#include -#include -#include #include #include -#include #include -#include #include #include #include -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14462 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I61e728069a1e79bf72c01ef9d9fc5fb171d3892e Gerrit-Change-Number: 14462 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange
Build failure of network:osmocom:nightly/osmo-bts in Raspbian_9.0/armv7l
Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bts/Raspbian_9.0/armv7l Package network:osmocom:nightly/osmo-bts failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-bts Last lines of build log: [ 411s] ../../src/common/libbts.a(bts.o): In function `lchan_init_lapdm': [ 411s] ./src/common/bts.c:423: undefined reference to `lapdm_channel_init2' [ 411s] collect2: error: ld returned 1 exit status [ 411s] Makefile:421: recipe for target 'osmo-bts-virtual' failed [ 411s] make[4]: *** [osmo-bts-virtual] Error 1 [ 411s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/osmo-bts-virtual' [ 411s] Makefile:385: recipe for target 'all-recursive' failed [ 411s] make[3]: *** [all-recursive] Error 1 [ 411s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 411s] Makefile:434: recipe for target 'all-recursive' failed [ 411s] make[2]: *** [all-recursive] Error 1 [ 411s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 411s] Makefile:366: recipe for target 'all' failed [ 411s] make[1]: *** [all] Error 2 [ 411s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 411s] dh_auto_build: make -j1 returned exit code 2 [ 411s] debian/rules:12: recipe for target 'build' failed [ 411s] make: *** [build] Error 2 [ 411s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 411s] [ 411s] armbuild02 failed "build osmo-bts_0.8.1.326.5a3e.dsc" at Sat Jun 15 09:28:48 UTC 2019. [ 411s] [ 411s] ### VM INTERACTION START ### [ 414s] [ 382.301871] sysrq: SysRq : Power Off [ 414s] [ 382.324011] reboot: Power down [ 414s] ### VM INTERACTION END ### [ 414s] [ 414s] armbuild02 failed "build osmo-bts_0.8.1.326.5a3e.dsc" at Sat Jun 15 09:28:51 UTC 2019. [ 414s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/)
Change in ...libosmocore[master]: fsm.c: Print error message for FSM with allstate_action but no events
Hello fixeria, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/14361 to look at the new patch set (#3). Change subject: fsm.c: Print error message for FSM with allstate_action but no events .. fsm.c: Print error message for FSM with allstate_action but no events As suggested by Vadim while reviewing a related fix for ipa_keepalive.c in libosmo-abis (see https://gerrit.osmocom.org/#/c/libosmo-abis/+/13540/), it makes sense to print an error message if anyone registers a FSM that specifies an allstate_action callback but at the same time no events that would ever end up in that callback. Change-Id: I9e73f7363ab15a00843e3f0d1e5776f4be7ebc46 --- M src/fsm.c 1 file changed, 11 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/61/14361/3 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14361 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I9e73f7363ab15a00843e3f0d1e5776f4be7ebc46 Gerrit-Change-Number: 14361 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-MessageType: newpatchset
Change in ...libosmocore[master]: fsm.c: Print error message for FSM with allstate_action but no events
laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14361 ) Change subject: fsm.c: Print error message for FSM with allstate_action but no events .. Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14361 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I9e73f7363ab15a00843e3f0d1e5776f4be7ebc46 Gerrit-Change-Number: 14361 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 15 Jun 2019 08:58:17 + Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
Change in ...libosmocore[master]: vty: command.c: Fix: multi-choice args are no longer passed incomplet...
laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmocore/+/14436 ) Change subject: vty: command.c: Fix: multi-choice args are no longer passed incomplete to vty func .. vty: command.c: Fix: multi-choice args are no longer passed incomplete to vty func For instance, take command "multi0 (one|two|three)": If user executes "multi0 tw", VTY func will receive argv[0]="two" instead of argv[0]="tw". Fixes: OS#4045 Change-Id: I91b6621ac3d87fda5412a9b415e7bfb4736c8a9a --- M src/vty/command.c M tests/tdef/tdef_vty_test_config_root.vty M tests/vty/vty_transcript_test.vty 3 files changed, 56 insertions(+), 18 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/vty/command.c b/src/vty/command.c index 17d28fe..3c91bfd 100644 --- a/src/vty/command.c +++ b/src/vty/command.c @@ -2217,7 +2217,7 @@ cmd_execute_command_real(vector vline, struct vty *vty, struct cmd_element **cmd) { - unsigned int i; + unsigned int i, j; unsigned int index; vector cmd_vector; struct cmd_element *cmd_element; @@ -2228,6 +2228,10 @@ enum match_type match = 0; int varflag; char *command; + int rc; + /* Used for temporary storage of cmd_deopt() allocated arguments during + argv[] generation */ + void *cmd_deopt_ctx = NULL; /* Make copy of command elements. */ cmd_vector = vector_copy(cmd_node_vector(cmdvec, vty->node)); @@ -2293,9 +2297,13 @@ varflag = 0; argc = 0; + cmd_deopt_ctx = talloc_named_const(tall_vty_cmd_ctx, 0, __func__); + for (i = 0; i < vector_active(vline); i++) { - if (argc == CMD_ARGC_MAX) - return CMD_ERR_EXEED_ARGC_MAX; + if (argc == CMD_ARGC_MAX) { + rc = CMD_ERR_EXEED_ARGC_MAX; + goto rc_free_deopt_ctx; + } if (varflag) { argv[argc++] = vector_slot(vline, i); continue; @@ -2313,7 +2321,32 @@ || CMD_OPTION(desc->cmd)) argv[argc++] = vector_slot(vline, i); } else { - argv[argc++] = vector_slot(vline, i); + /* multi choice argument. look up which choice + the user meant (can only be one after + filtering and checking for ambigous). For instance, + if user typed "th" for "(two|three)" arg, we + want to pass "three" in argv[]. */ + for (j = 0; j < vector_active(descvec); j++) { + struct desc *desc = vector_slot(descvec, j); + const char *tmp_cmd; + if (!desc) + continue; + if (cmd_match(desc->cmd, vector_slot(vline, i), ANY_MATCH, true) == NO_MATCH) + continue; + if (CMD_OPTION(desc->cmd)) { + /* we need to first remove the [] chars, then check to see what's inside (var or token) */ + tmp_cmd = cmd_deopt(cmd_deopt_ctx, desc->cmd); + } else { + tmp_cmd = desc->cmd; + } + + if(CMD_VARIABLE(tmp_cmd)) { + argv[argc++] = vector_slot(vline, i); + } else { + argv[argc++] = tmp_cmd; + } + break; + } } } @@ -2322,10 +2355,14 @@ *cmd = matched_element; if (matched_element->daemon) - return CMD_SUCCESS_DAEMON; + rc = CMD_SUCCESS_DAEMON; + else/* Execute matched command. */ + rc = (*matched_element->func) (matched_element, vty, argc, argv); - /* Execute matched command. */ - return (*matched_element->func) (matched_element, vty, argc, argv); +rc_free_deopt_ctx: + /* Now after we called the command func, we can free temporary strings */ + talloc_free(cmd_deopt_ctx); + return rc; } int diff --git a/tests/tdef/tdef_vty_test_config_root.vty b/tests/tdef/tdef_vty_test_config_root.vty index 8613ff3..f3aba0f 100644 --- a/tests/tdef/tdef_vty_test_config_root.vty +++ b/tests/tdef/tdef_vty_test_config_root.vty @@ -163,7 +163,6 @@ tdef_vty_test(config)# timer test T2 100 tdef_vty_test(config)# timer tes T2 100 -% Error: no timers found tdef_vty_test(config)# timer te
Change in ...libosmocore[master]: vty: command.c: Fix: multi-choice args are no longer passed incomplet...
laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14436 ) Change subject: vty: command.c: Fix: multi-choice args are no longer passed incomplete to vty func .. Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14436 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I91b6621ac3d87fda5412a9b415e7bfb4736c8a9a Gerrit-Change-Number: 14436 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 15 Jun 2019 08:51:28 + Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
Change in ...libosmocore[master]: vty: command.c: Fix: single-choice optional args are no longer passed...
laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmocore/+/14437 ) Change subject: vty: command.c: Fix: single-choice optional args are no longer passed incomplete to vty func .. vty: command.c: Fix: single-choice optional args are no longer passed incomplete to vty func For instance, take command "single0 [one]": If user executes "single0 on", VTY func will receive argv[0]="one" instead of argv[0]="on". Related: OS#4045 Change-Id: I5f4e2d16c62a2d22717989c6acc77450957168cb --- M src/vty/command.c M tests/vty/vty_transcript_test.vty 2 files changed, 15 insertions(+), 6 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve diff --git a/src/vty/command.c b/src/vty/command.c index 3c91bfd..89a2bc1 100644 --- a/src/vty/command.c +++ b/src/vty/command.c @@ -2310,16 +2310,26 @@ } vector descvec = vector_slot(matched_element->strvec, i); + const char *tmp_cmd; if (vector_active(descvec) == 1) { + /* Single coice argument, no "(...|...)". */ struct desc *desc = vector_slot(descvec, 0); - if (CMD_VARARG(desc->cmd)) - varflag = 1; + if (CMD_OPTION(desc->cmd)) { + /* we need to first remove the [] chars, then check to see what's inside (var or token) */ + tmp_cmd = cmd_deopt(cmd_deopt_ctx, desc->cmd); + } else { + tmp_cmd = desc->cmd; + } - if (varflag || CMD_VARIABLE(desc->cmd) - || CMD_OPTION(desc->cmd)) + if (CMD_VARARG(tmp_cmd)) + varflag = 1; + if (varflag || CMD_VARIABLE(tmp_cmd)) argv[argc++] = vector_slot(vline, i); + else if (CMD_OPTION(desc->cmd)) + argv[argc++] = tmp_cmd; + /* else : we don't want to add non-opt single-choice static args in argv[] */ } else { /* multi choice argument. look up which choice the user meant (can only be one after @@ -2328,7 +2338,6 @@ want to pass "three" in argv[]. */ for (j = 0; j < vector_active(descvec); j++) { struct desc *desc = vector_slot(descvec, j); - const char *tmp_cmd; if (!desc) continue; if (cmd_match(desc->cmd, vector_slot(vline, i), ANY_MATCH, true) == NO_MATCH) diff --git a/tests/vty/vty_transcript_test.vty b/tests/vty/vty_transcript_test.vty index f2dbacb..db58830 100644 --- a/tests/vty/vty_transcript_test.vty +++ b/tests/vty/vty_transcript_test.vty @@ -80,7 +80,7 @@ ok argc=1 one vty_transcript_test> single0 on -ok argc=1 on +ok argc=1 one vty_transcript_test> single0 ok argc=0 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14437 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I5f4e2d16c62a2d22717989c6acc77450957168cb Gerrit-Change-Number: 14437 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged
Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: fix: return trans from establish_nc_ss_trans()
laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14461 ) Change subject: libmsc/gsm_09_11.c: fix: return trans from establish_nc_ss_trans() .. Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14461 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I9dcee64dd0b435ef29630c223132b81724701f93 Gerrit-Change-Number: 14461 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 15 Jun 2019 08:51:05 + Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: send GSUP PROS_SS ERROR message when needed
laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/14458 ) Change subject: libmsc/gsm_09_11.c: send GSUP PROS_SS ERROR message when needed .. libmsc/gsm_09_11.c: send GSUP PROS_SS ERROR message when needed OsmoMSC should notify the remote SS/USSD entity if: - received GSUP message has unexpected session state; - received GSUP message has unknown session ID; - received GSUP message missing mandatory IE(s); - NCSS transaction establishment failed; - NCSS message delivery failed. Change-Id: Ief9f8a197b0860072b671edfc55180f619860d9d Related: (TTCN-3) Ie267ee174c5061cd3fc102a2824abe03d73f3aac Related: OS#2931 --- M src/libmsc/gsm_09_11.c 1 file changed, 4 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/libmsc/gsm_09_11.c b/src/libmsc/gsm_09_11.c index 39b9711..4a7c348 100644 --- a/src/libmsc/gsm_09_11.c +++ b/src/libmsc/gsm_09_11.c @@ -475,7 +475,7 @@ /* Attempt to establish a new transaction */ trans = establish_nc_ss_trans(net, vsub, gsup_msg); if (!trans) { - /* FIXME: send ERROR back to the HLR */ + gsup_client_mux_tx_error_reply(gcm, gsup_msg, GMM_CAUSE_NET_FAIL); return -EINVAL; } @@ -520,7 +520,7 @@ default: LOG_TRANS(trans, LOGL_ERROR, "Unexpected session state %d\n", gsup_msg->session_state); - /* FIXME: send ERROR back to the HLR */ + gsup_client_mux_tx_error_reply(gcm, gsup_msg, GMM_CAUSE_MSGT_INCOMP_P_STATE); msgb_free(ss_msg); return -EINVAL; } @@ -530,7 +530,7 @@ if (!gsup_msg->ss_info || gsup_msg->ss_info_len < 2) { LOG_TRANS(trans, LOGL_ERROR, "Missing mandatory Facility IE " "for mapped 0x%02x message\n", gh->msg_type); - /* FIXME: send ERROR back to the HLR */ + gsup_client_mux_tx_error_reply(gcm, gsup_msg, GMM_CAUSE_INV_MAND_INFO); msgb_free(ss_msg); return -EINVAL; } @@ -553,6 +553,7 @@ msc_a = trans->msc_a; if (!msc_a) { LOG_TRANS(trans, LOGL_ERROR, "Cannot send SS message, no local MSC-A role defined for subscriber\n"); + gsup_client_mux_tx_error_reply(gcm, gsup_msg, GMM_CAUSE_NET_FAIL); msgb_free(ss_msg); return -EINVAL; } -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14458 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ief9f8a197b0860072b671edfc55180f619860d9d Gerrit-Change-Number: 14458 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged
Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: fix: return trans from establish_nc_ss_trans()
laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/14461 ) Change subject: libmsc/gsm_09_11.c: fix: return trans from establish_nc_ss_trans() .. libmsc/gsm_09_11.c: fix: return trans from establish_nc_ss_trans() It is expected that establish_nc_ss_trans() returns an allocated transaction in successful case, or NULL in case of error. The function assumes two scenarios: - the subscriber already has an active RAN connection, - RAN connection needs to be established (Paging). In the first case, a pointer to the transaction is returned as expected, but in case of Paging, NULL has always been returned, even if there were no errors. Let's fix this. Change-Id: I9dcee64dd0b435ef29630c223132b81724701f93 --- M src/libmsc/gsm_09_11.c M tests/msc_vlr/msc_vlr_test_ss.err 2 files changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/libmsc/gsm_09_11.c b/src/libmsc/gsm_09_11.c index 3de933c..39b9711 100644 --- a/src/libmsc/gsm_09_11.c +++ b/src/libmsc/gsm_09_11.c @@ -409,7 +409,7 @@ msgb_tlv_put(trans->ss.msg, GSM0480_IE_FACILITY, gsup_msg->ss_info_len, gsup_msg->ss_info); - return NULL; + return trans; } /* NC SS specific transaction release. diff --git a/tests/msc_vlr/msc_vlr_test_ss.err b/tests/msc_vlr/msc_vlr_test_ss.err index 976b263..1199cf1 100644 --- a/tests/msc_vlr/msc_vlr_test_ss.err +++ b/tests/msc_vlr/msc_vlr_test_ss.err @@ -375,7 +375,7 @@ paging request (SIGNALLING_HIGH_PRIO) to IMSI-90170004620:MSISDN-46071 on GERAN-A strcmp(paging_expecting_imsi, vsub->imsi) == 0 DREF VLR subscr IMSI-90170004620:MSISDN-46071 + Paging: now used by 5 (attached,_test_ss_ussd_no,gsm0911_gsup_rx,NCSS,Paging) -<-- GSUP rx OSMO_GSUP_MSGT_PROC_SS_REQUEST: vlr_gsupc_read_cb() returns -22 +<-- GSUP rx OSMO_GSUP_MSGT_PROC_SS_REQUEST: vlr_gsupc_read_cb() returns 0 llist_count(>cs.requests) == 1 DREF VLR subscr IMSI-90170004620:MSISDN-46071 - _test_ss_ussd_no: now used by 4 (attached,gsm0911_gsup_rx,NCSS,Paging) paging_sent == 1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14461 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I9dcee64dd0b435ef29630c223132b81724701f93 Gerrit-Change-Number: 14461 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged
Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: send GSUP PROS_SS ERROR message when needed
laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14458 ) Change subject: libmsc/gsm_09_11.c: send GSUP PROS_SS ERROR message when needed .. Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14458 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ief9f8a197b0860072b671edfc55180f619860d9d Gerrit-Change-Number: 14458 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 15 Jun 2019 08:51:03 + Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: fix: return trans from establish_nc_ss_trans()
laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14461 ) Change subject: libmsc/gsm_09_11.c: fix: return trans from establish_nc_ss_trans() .. Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14461 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I9dcee64dd0b435ef29630c223132b81724701f93 Gerrit-Change-Number: 14461 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 15 Jun 2019 08:50:38 + Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
Change in ...osmo-msc[master]: gsup_client_mux_tx_error_reply(): fix: do not omit SM-RP-MR IE
laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/14456 ) Change subject: gsup_client_mux_tx_error_reply(): fix: do not omit SM-RP-MR IE .. gsup_client_mux_tx_error_reply(): fix: do not omit SM-RP-MR IE The SM-RP-MR (Message Reference for SM Service) value in the response (no matter result or error) shall match the value from the request. Change-Id: Ifb6e749928548e6febfe7768aefe9a2a3ecf4de0 --- M src/libmsc/gsup_client_mux.c 1 file changed, 3 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/libmsc/gsup_client_mux.c b/src/libmsc/gsup_client_mux.c index 495318f..e425651 100644 --- a/src/libmsc/gsup_client_mux.c +++ b/src/libmsc/gsup_client_mux.c @@ -154,6 +154,9 @@ .cause = cause, .message_type = OSMO_GSUP_TO_MSGT_ERROR(gsup_orig->message_type), .message_class = gsup_orig->message_class, + + /* RP-Message-Reference is mandatory for SM Service */ + .sm_rp_mr = gsup_orig->sm_rp_mr, }; OSMO_STRLCPY_ARRAY(gsup_reply.imsi, gsup_orig->imsi); -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14456 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ifb6e749928548e6febfe7768aefe9a2a3ecf4de0 Gerrit-Change-Number: 14456 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged
Change in ...osmo-msc[master]: gsup_client_mux_tx_error_reply(): fix: do not omit message class IE
laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/14454 ) Change subject: gsup_client_mux_tx_error_reply(): fix: do not omit message class IE .. gsup_client_mux_tx_error_reply(): fix: do not omit message class IE Found using the new TC_mt_ussd_for_unknown_subscr test case. Change-Id: Id00a99b713a6b97c455b8e6ae49abea163e8281f Related: (TTCN-3) Id35cd3ec15d1bab15260312d7bbb41e2d10349fe Related: OS#2931 --- M src/libmsc/gsup_client_mux.c 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/libmsc/gsup_client_mux.c b/src/libmsc/gsup_client_mux.c index 8c80a6b..495318f 100644 --- a/src/libmsc/gsup_client_mux.c +++ b/src/libmsc/gsup_client_mux.c @@ -153,6 +153,7 @@ gsup_reply = (struct osmo_gsup_message){ .cause = cause, .message_type = OSMO_GSUP_TO_MSGT_ERROR(gsup_orig->message_type), + .message_class = gsup_orig->message_class, }; OSMO_STRLCPY_ARRAY(gsup_reply.imsi, gsup_orig->imsi); -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14454 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Id00a99b713a6b97c455b8e6ae49abea163e8281f Gerrit-Change-Number: 14454 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged
Change in ...osmo-msc[master]: gsup_client_mux_tx_error_reply(): fix: do not omit message class IE
laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14454 ) Change subject: gsup_client_mux_tx_error_reply(): fix: do not omit message class IE .. Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14454 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Id00a99b713a6b97c455b8e6ae49abea163e8281f Gerrit-Change-Number: 14454 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 15 Jun 2019 08:49:35 + Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
Change in ...osmo-msc[master]: gsup_client_mux_tx_error_reply(): fix: do not omit SM-RP-MR IE
laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14456 ) Change subject: gsup_client_mux_tx_error_reply(): fix: do not omit SM-RP-MR IE .. Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14456 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ifb6e749928548e6febfe7768aefe9a2a3ecf4de0 Gerrit-Change-Number: 14456 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 15 Jun 2019 08:49:57 + Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
Change in ...osmo-msc[master]: gsup_client_mux_tx_error_reply(): fix: do not omit session IEs
laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/14453 ) Change subject: gsup_client_mux_tx_error_reply(): fix: do not omit session IEs .. gsup_client_mux_tx_error_reply(): fix: do not omit session IEs For SS/USSD, it's important to have both session state and ID IEs. Found using the new TC_mt_ussd_for_unknown_subscr test case. Change-Id: I57317a7b8036d1ffd36e2021efc146db4633da84 Related: (TTCN-3) Id35cd3ec15d1bab15260312d7bbb41e2d10349fe Related: OS#2931 --- M src/libmsc/gsup_client_mux.c 1 file changed, 6 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/libmsc/gsup_client_mux.c b/src/libmsc/gsup_client_mux.c index 292c2a9..8c80a6b 100644 --- a/src/libmsc/gsup_client_mux.c +++ b/src/libmsc/gsup_client_mux.c @@ -157,6 +157,12 @@ OSMO_STRLCPY_ARRAY(gsup_reply.imsi, gsup_orig->imsi); + /* For SS/USSD, it's important to keep both session state and ID IEs */ + if (gsup_orig->session_state != OSMO_GSUP_SESSION_STATE_NONE) { + gsup_reply.session_state = OSMO_GSUP_SESSION_STATE_END; + gsup_reply.session_id = gsup_orig->session_id; + } + if (osmo_gsup_client_enc_send(gcm->gsup_client, _reply)) LOGP(DLGSUP, LOGL_ERROR, "Failed to send Error reply (imsi=%s)\n", osmo_quote_str(gsup_orig->imsi, -1)); -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14453 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I57317a7b8036d1ffd36e2021efc146db4633da84 Gerrit-Change-Number: 14453 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged
Change in ...osmo-ttcn3-hacks[master]: MSC_Tests.ttcn: use f_expect_gsup_msg() in f_tc_mt_ussd_for_unknown_s...
laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14459 ) Change subject: MSC_Tests.ttcn: use f_expect_gsup_msg() in f_tc_mt_ussd_for_unknown_subscr() .. MSC_Tests.ttcn: use f_expect_gsup_msg() in f_tc_mt_ussd_for_unknown_subscr() Change-Id: Id067cee3b7d06613d8387e0fa9d8a5c1dbcc49cf --- M msc/MSC_Tests.ttcn 1 file changed, 1 insertion(+), 12 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index b66323b..b8f9fd7 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -3474,7 +3474,6 @@ runs on BSC_ConnHdlr { var hexstring imsi := '000'H; /* Some unknown IMSI */ var OCT4 sid := '2222'O; - timer T := 2.0; f_init_handler(pars); f_ran_register_imsi(imsi, ''O); @@ -3499,17 +3498,7 @@ GSUP.send(gsup_req); /* Expect GSUP PROC_SS_ERROR message */ - T.start; - alt { - [] GSUP.receive(gsup_rsp) { - setverdict(pass); - }; - [] T.timeout { - setverdict(fail, "Timeout waiting for GSUP PROC_SS_ERROR message"); - } - /* We don't expect anything else */ - [] as_unexp_gsup_or_bssap_msg(); - } + f_expect_gsup_msg(gsup_rsp); } testcase TC_mt_ussd_for_unknown_subscr() runs on MTC_CT { var BSC_ConnHdlr vc_conn; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14459 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: Id067cee3b7d06613d8387e0fa9d8a5c1dbcc49cf Gerrit-Change-Number: 14459 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged
Change in ...osmo-ttcn3-hacks[master]: MSC_Tests.ttcn: introduce TC_proc_ss_for_unknown_session
laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14460 ) Change subject: MSC_Tests.ttcn: introduce TC_proc_ss_for_unknown_session .. MSC_Tests.ttcn: introduce TC_proc_ss_for_unknown_session The idea of this test case is to check that OsmoMSC properly rejects GSUP PROC_SS messages for unknown sessions. As it turned out, OsmoMSC doesn't send GSUP PROC_SS ERROR as expected. The fix has been submitted. Change-Id: Ie267ee174c5061cd3fc102a2824abe03d73f3aac Related: OS#2931 --- M msc/MSC_Tests.ttcn 1 file changed, 43 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index b8f9fd7..f9b2d03 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -3507,6 +3507,48 @@ vc_conn.done; } +/* MT (network-originated) USSD for unknown session */ +friend function f_tc_proc_ss_for_unknown_session(charstring id, BSC_ConnHdlrPars pars) +runs on BSC_ConnHdlr { + var OCT4 sid := '2333'O; + + f_init_handler(pars); + + /* Perform location update */ + f_perform_lu(); + + f_ran_register_imsi(g_pars.imsi, ''O); + f_create_gsup_expect(hex2str(g_pars.imsi)); + + /* Request referencing a non-existing SS session */ + var template (value) GSUP_PDU gsup_req := ts_GSUP_PROC_SS_REQ( + imsi := g_pars.imsi, + sid := sid, + state := OSMO_GSUP_SESSION_STATE_CONTINUE, + ss := f_rnd_octstring(23) + ); + + /* Error with some cause value */ + var template GSUP_PDU gsup_rsp := tr_GSUP_PROC_SS_ERR( + imsi := g_pars.imsi, + sid := sid, + state := OSMO_GSUP_SESSION_STATE_END, + cause := ? /* FIXME: introduce an enumerated type! */ + ); + + /* Initiate a MT USSD notification */ + GSUP.send(gsup_req); + + /* Expect GSUP PROC_SS_ERROR message */ + f_expect_gsup_msg(gsup_rsp); +} +testcase TC_proc_ss_for_unknown_session() runs on MTC_CT { + var BSC_ConnHdlr vc_conn; + f_init(); + vc_conn := f_start_handler(refers(f_tc_proc_ss_for_unknown_session), 110); + vc_conn.done; +} + /* A5/1 only permitted on network side; attempt an invalid CIPHER MODE COMPLETE with A5/3 which MSC should reject. */ private function f_tc_cipher_complete_with_invalid_cipher(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr { @@ -5356,6 +5398,7 @@ execute( TC_lu_and_ss_session_timeout() ); execute( TC_mt_ussd_for_unknown_subscr() ); + execute( TC_proc_ss_for_unknown_session() ); execute( TC_cipher_complete_with_invalid_cipher() ); execute( TC_cipher_complete_1_without_cipher() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14460 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: Ie267ee174c5061cd3fc102a2824abe03d73f3aac Gerrit-Change-Number: 14460 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged
Change in ...osmo-msc[master]: gsup_client_mux_tx_error_reply(): fix: do not omit session IEs
laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14453 ) Change subject: gsup_client_mux_tx_error_reply(): fix: do not omit session IEs .. Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14453 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I57317a7b8036d1ffd36e2021efc146db4633da84 Gerrit-Change-Number: 14453 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 15 Jun 2019 08:49:19 + Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
Change in ...osmo-ttcn3-hacks[master]: MSC_Tests.ttcn: introduce TC_proc_ss_for_unknown_session
laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14460 ) Change subject: MSC_Tests.ttcn: introduce TC_proc_ss_for_unknown_session .. Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14460 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: Ie267ee174c5061cd3fc102a2824abe03d73f3aac Gerrit-Change-Number: 14460 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 15 Jun 2019 08:48:37 + Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
Change in ...osmo-ttcn3-hacks[master]: MSC_Tests.ttcn: use f_expect_gsup_msg() in f_tc_mt_ussd_for_unknown_s...
laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14459 ) Change subject: MSC_Tests.ttcn: use f_expect_gsup_msg() in f_tc_mt_ussd_for_unknown_subscr() .. Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14459 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: Id067cee3b7d06613d8387e0fa9d8a5c1dbcc49cf Gerrit-Change-Number: 14459 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 15 Jun 2019 08:48:22 + Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: fix: return trans from establish_nc_ss_trans()
fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/14461 Change subject: libmsc/gsm_09_11.c: fix: return trans from establish_nc_ss_trans() .. libmsc/gsm_09_11.c: fix: return trans from establish_nc_ss_trans() It is expected that establish_nc_ss_trans() returns an allocated transaction in successful case, or NULL in case of error. The function assumes two scenarios: - the subscriber already has an active RAN connection, - RAN connection needs to be established (Paging). In the first case, a pointer to the transaction is returned as expected, but in case of Paging, NULL has always been returned, even if there were no errors. Let's fix this. Change-Id: I9dcee64dd0b435ef29630c223132b81724701f93 --- M src/libmsc/gsm_09_11.c M tests/msc_vlr/msc_vlr_test_ss.err 2 files changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/61/14461/1 diff --git a/src/libmsc/gsm_09_11.c b/src/libmsc/gsm_09_11.c index 3de933c..39b9711 100644 --- a/src/libmsc/gsm_09_11.c +++ b/src/libmsc/gsm_09_11.c @@ -409,7 +409,7 @@ msgb_tlv_put(trans->ss.msg, GSM0480_IE_FACILITY, gsup_msg->ss_info_len, gsup_msg->ss_info); - return NULL; + return trans; } /* NC SS specific transaction release. diff --git a/tests/msc_vlr/msc_vlr_test_ss.err b/tests/msc_vlr/msc_vlr_test_ss.err index 976b263..1199cf1 100644 --- a/tests/msc_vlr/msc_vlr_test_ss.err +++ b/tests/msc_vlr/msc_vlr_test_ss.err @@ -375,7 +375,7 @@ paging request (SIGNALLING_HIGH_PRIO) to IMSI-90170004620:MSISDN-46071 on GERAN-A strcmp(paging_expecting_imsi, vsub->imsi) == 0 DREF VLR subscr IMSI-90170004620:MSISDN-46071 + Paging: now used by 5 (attached,_test_ss_ussd_no,gsm0911_gsup_rx,NCSS,Paging) -<-- GSUP rx OSMO_GSUP_MSGT_PROC_SS_REQUEST: vlr_gsupc_read_cb() returns -22 +<-- GSUP rx OSMO_GSUP_MSGT_PROC_SS_REQUEST: vlr_gsupc_read_cb() returns 0 llist_count(>cs.requests) == 1 DREF VLR subscr IMSI-90170004620:MSISDN-46071 - _test_ss_ussd_no: now used by 4 (attached,gsm0911_gsup_rx,NCSS,Paging) paging_sent == 1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14461 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I9dcee64dd0b435ef29630c223132b81724701f93 Gerrit-Change-Number: 14461 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange
Change in ...osmo-ttcn3-hacks[master]: MSC_Tests.ttcn: use f_expect_gsup_msg() in f_tc_mt_ussd_for_unknown_s...
fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14459 Change subject: MSC_Tests.ttcn: use f_expect_gsup_msg() in f_tc_mt_ussd_for_unknown_subscr() .. MSC_Tests.ttcn: use f_expect_gsup_msg() in f_tc_mt_ussd_for_unknown_subscr() Change-Id: Id067cee3b7d06613d8387e0fa9d8a5c1dbcc49cf --- M msc/MSC_Tests.ttcn 1 file changed, 1 insertion(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/59/14459/1 diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index b66323b..b8f9fd7 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -3474,7 +3474,6 @@ runs on BSC_ConnHdlr { var hexstring imsi := '000'H; /* Some unknown IMSI */ var OCT4 sid := '2222'O; - timer T := 2.0; f_init_handler(pars); f_ran_register_imsi(imsi, ''O); @@ -3499,17 +3498,7 @@ GSUP.send(gsup_req); /* Expect GSUP PROC_SS_ERROR message */ - T.start; - alt { - [] GSUP.receive(gsup_rsp) { - setverdict(pass); - }; - [] T.timeout { - setverdict(fail, "Timeout waiting for GSUP PROC_SS_ERROR message"); - } - /* We don't expect anything else */ - [] as_unexp_gsup_or_bssap_msg(); - } + f_expect_gsup_msg(gsup_rsp); } testcase TC_mt_ussd_for_unknown_subscr() runs on MTC_CT { var BSC_ConnHdlr vc_conn; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14459 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: Id067cee3b7d06613d8387e0fa9d8a5c1dbcc49cf Gerrit-Change-Number: 14459 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange
Change in ...osmo-ttcn3-hacks[master]: MSC_Tests.ttcn: introduce TC_proc_ss_for_unknown_session
fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14460 Change subject: MSC_Tests.ttcn: introduce TC_proc_ss_for_unknown_session .. MSC_Tests.ttcn: introduce TC_proc_ss_for_unknown_session The idea of this test case is to check that OsmoMSC properly rejects GSUP PROC_SS messages for unknown sessions. As it turned out, OsmoMSC doesn't send GSUP PROC_SS ERROR as expected. The fix has been submitted. Change-Id: Ie267ee174c5061cd3fc102a2824abe03d73f3aac Related: OS#2931 --- M msc/MSC_Tests.ttcn 1 file changed, 43 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/60/14460/1 diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index b8f9fd7..f9b2d03 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -3507,6 +3507,48 @@ vc_conn.done; } +/* MT (network-originated) USSD for unknown session */ +friend function f_tc_proc_ss_for_unknown_session(charstring id, BSC_ConnHdlrPars pars) +runs on BSC_ConnHdlr { + var OCT4 sid := '2333'O; + + f_init_handler(pars); + + /* Perform location update */ + f_perform_lu(); + + f_ran_register_imsi(g_pars.imsi, ''O); + f_create_gsup_expect(hex2str(g_pars.imsi)); + + /* Request referencing a non-existing SS session */ + var template (value) GSUP_PDU gsup_req := ts_GSUP_PROC_SS_REQ( + imsi := g_pars.imsi, + sid := sid, + state := OSMO_GSUP_SESSION_STATE_CONTINUE, + ss := f_rnd_octstring(23) + ); + + /* Error with some cause value */ + var template GSUP_PDU gsup_rsp := tr_GSUP_PROC_SS_ERR( + imsi := g_pars.imsi, + sid := sid, + state := OSMO_GSUP_SESSION_STATE_END, + cause := ? /* FIXME: introduce an enumerated type! */ + ); + + /* Initiate a MT USSD notification */ + GSUP.send(gsup_req); + + /* Expect GSUP PROC_SS_ERROR message */ + f_expect_gsup_msg(gsup_rsp); +} +testcase TC_proc_ss_for_unknown_session() runs on MTC_CT { + var BSC_ConnHdlr vc_conn; + f_init(); + vc_conn := f_start_handler(refers(f_tc_proc_ss_for_unknown_session), 110); + vc_conn.done; +} + /* A5/1 only permitted on network side; attempt an invalid CIPHER MODE COMPLETE with A5/3 which MSC should reject. */ private function f_tc_cipher_complete_with_invalid_cipher(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr { @@ -5356,6 +5398,7 @@ execute( TC_lu_and_ss_session_timeout() ); execute( TC_mt_ussd_for_unknown_subscr() ); + execute( TC_proc_ss_for_unknown_session() ); execute( TC_cipher_complete_with_invalid_cipher() ); execute( TC_cipher_complete_1_without_cipher() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14460 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: Ie267ee174c5061cd3fc102a2824abe03d73f3aac Gerrit-Change-Number: 14460 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange
Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: send GSUP PROS_SS ERROR message when needed
fixeria has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-msc/+/14458 ) Change subject: libmsc/gsm_09_11.c: send GSUP PROS_SS ERROR message when needed .. libmsc/gsm_09_11.c: send GSUP PROS_SS ERROR message when needed OsmoMSC should notify the remote SS/USSD entity if: - received GSUP message has unexpected session state; - received GSUP message has unknown session ID; - received GSUP message missing mandatory IE(s); - NCSS transaction establishment failed; - NCSS message delivery failed. Change-Id: Ief9f8a197b0860072b671edfc55180f619860d9d Related: (TTCN-3) Ie267ee174c5061cd3fc102a2824abe03d73f3aac Related: OS#2931 --- M src/libmsc/gsm_09_11.c 1 file changed, 4 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/58/14458/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14458 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ief9f8a197b0860072b671edfc55180f619860d9d Gerrit-Change-Number: 14458 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-CC: Jenkins Builder Gerrit-MessageType: newpatchset
Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: send GSUP PROS_SS ERROR message where needed
fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/14458 Change subject: libmsc/gsm_09_11.c: send GSUP PROS_SS ERROR message where needed .. libmsc/gsm_09_11.c: send GSUP PROS_SS ERROR message where needed OsmoMSC should notify the remote SS/USSD entity if: - received GSUP message has unexpected session state; - received GSUP message has unknown session ID; - received GSUP message missing mandatory IE(s); - NCSS transaction establishment failed; - NCSS message delivery failed. Change-Id: Ief9f8a197b0860072b671edfc55180f619860d9d Related: (TTCN-3) Ie267ee174c5061cd3fc102a2824abe03d73f3aac Related: OS#2931 --- M src/libmsc/gsm_09_11.c 1 file changed, 4 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/58/14458/1 diff --git a/src/libmsc/gsm_09_11.c b/src/libmsc/gsm_09_11.c index 3de933c..82a045d 100644 --- a/src/libmsc/gsm_09_11.c +++ b/src/libmsc/gsm_09_11.c @@ -475,7 +475,7 @@ /* Attempt to establish a new transaction */ trans = establish_nc_ss_trans(net, vsub, gsup_msg); if (!trans) { - /* FIXME: send ERROR back to the HLR */ + gsup_client_mux_tx_error_reply(gcm, gsup_msg, GMM_CAUSE_NET_FAIL); return -EINVAL; } @@ -520,7 +520,7 @@ default: LOG_TRANS(trans, LOGL_ERROR, "Unexpected session state %d\n", gsup_msg->session_state); - /* FIXME: send ERROR back to the HLR */ + gsup_client_mux_tx_error_reply(gcm, gsup_msg, GMM_CAUSE_MSGT_INCOMP_P_STATE); msgb_free(ss_msg); return -EINVAL; } @@ -530,7 +530,7 @@ if (!gsup_msg->ss_info || gsup_msg->ss_info_len < 2) { LOG_TRANS(trans, LOGL_ERROR, "Missing mandatory Facility IE " "for mapped 0x%02x message\n", gh->msg_type); - /* FIXME: send ERROR back to the HLR */ + gsup_client_mux_tx_error_reply(gcm, gsup_msg, GMM_CAUSE_INV_MAND_INFO); msgb_free(ss_msg); return -EINVAL; } @@ -553,6 +553,7 @@ msc_a = trans->msc_a; if (!msc_a) { LOG_TRANS(trans, LOGL_ERROR, "Cannot send SS message, no local MSC-A role defined for subscriber\n"); + gsup_client_mux_tx_error_reply(gcm, gsup_msg, GMM_CAUSE_NET_FAIL); msgb_free(ss_msg); return -EINVAL; } -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14458 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ief9f8a197b0860072b671edfc55180f619860d9d Gerrit-Change-Number: 14458 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange
Change in ...osmo-msc[master]: gsup_client_mux_tx_error_reply(): fix: do not omit message class IE
Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-msc/+/14454 to look at the new patch set (#3). Change subject: gsup_client_mux_tx_error_reply(): fix: do not omit message class IE .. gsup_client_mux_tx_error_reply(): fix: do not omit message class IE Found using the new TC_mt_ussd_for_unknown_subscr test case. Change-Id: Id00a99b713a6b97c455b8e6ae49abea163e8281f Related: (TTCN-3) Id35cd3ec15d1bab15260312d7bbb41e2d10349fe Related: OS#2931 --- M src/libmsc/gsup_client_mux.c 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/54/14454/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14454 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Id00a99b713a6b97c455b8e6ae49abea163e8281f Gerrit-Change-Number: 14454 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset
Change in ...osmo-msc[master]: gsup_client_mux_tx_error_reply(): fix: do not omit session IEs
Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-msc/+/14453 to look at the new patch set (#3). Change subject: gsup_client_mux_tx_error_reply(): fix: do not omit session IEs .. gsup_client_mux_tx_error_reply(): fix: do not omit session IEs For SS/USSD, it's important to have both session state and ID IEs. Found using the new TC_mt_ussd_for_unknown_subscr test case. Change-Id: I57317a7b8036d1ffd36e2021efc146db4633da84 Related: (TTCN-3) Id35cd3ec15d1bab15260312d7bbb41e2d10349fe Related: OS#2931 --- M src/libmsc/gsup_client_mux.c 1 file changed, 6 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/53/14453/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14453 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I57317a7b8036d1ffd36e2021efc146db4633da84 Gerrit-Change-Number: 14453 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset
Change in ...osmo-msc[master]: gsup_client_mux_tx_error_reply(): fix: do not omit SM-RP-MR IE
Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-msc/+/14456 to look at the new patch set (#2). Change subject: gsup_client_mux_tx_error_reply(): fix: do not omit SM-RP-MR IE .. gsup_client_mux_tx_error_reply(): fix: do not omit SM-RP-MR IE The SM-RP-MR (Message Reference for SM Service) value in the response (no matter result or error) shall match the value from the request. Change-Id: Ifb6e749928548e6febfe7768aefe9a2a3ecf4de0 --- M src/libmsc/gsup_client_mux.c 1 file changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/56/14456/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14456 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ifb6e749928548e6febfe7768aefe9a2a3ecf4de0 Gerrit-Change-Number: 14456 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset