Build failure of network:osmocom:nightly/osmo-bts in Raspbian_9.0/armv7l

2019-06-15 Thread OBS Notification
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

2019-06-15 Thread OBS Notification
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

2019-06-15 Thread fixeria
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

2019-06-15 Thread fixeria
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

2019-06-15 Thread laforge
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

2019-06-15 Thread laforge
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

2019-06-15 Thread laforge
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

2019-06-15 Thread laforge
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

2019-06-15 Thread laforge
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

2019-06-15 Thread laforge
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

2019-06-15 Thread laforge
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...

2019-06-15 Thread laforge
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...

2019-06-15 Thread laforge
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...

2019-06-15 Thread fixeria
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...

2019-06-15 Thread fixeria
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

2019-06-15 Thread laforge
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

2019-06-15 Thread fixeria
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

2019-06-15 Thread laforge
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

2019-06-15 Thread laforge
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

2019-06-15 Thread fixeria
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

2019-06-15 Thread fixeria
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

2019-06-15 Thread fixeria
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

2019-06-15 Thread fixeria
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

2019-06-15 Thread laforge
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

2019-06-15 Thread laforge
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

2019-06-15 Thread laforge
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

2019-06-15 Thread laforge
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

2019-06-15 Thread laforge
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

2019-06-15 Thread laforge
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

2019-06-15 Thread fixeria
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

2019-06-15 Thread fixeria
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

2019-06-15 Thread fixeria
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

2019-06-15 Thread fixeria
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

2019-06-15 Thread fixeria
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

2019-06-15 Thread fixeria
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

2019-06-15 Thread OBS Notification
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

2019-06-15 Thread laforge
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

2019-06-15 Thread laforge
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...

2019-06-15 Thread laforge
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...

2019-06-15 Thread laforge
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...

2019-06-15 Thread laforge
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()

2019-06-15 Thread laforge
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

2019-06-15 Thread laforge
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()

2019-06-15 Thread laforge
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

2019-06-15 Thread laforge
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()

2019-06-15 Thread laforge
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

2019-06-15 Thread laforge
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

2019-06-15 Thread laforge
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

2019-06-15 Thread laforge
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

2019-06-15 Thread laforge
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

2019-06-15 Thread laforge
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...

2019-06-15 Thread laforge
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

2019-06-15 Thread laforge
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

2019-06-15 Thread laforge
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

2019-06-15 Thread laforge
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...

2019-06-15 Thread laforge
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()

2019-06-15 Thread fixeria
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...

2019-06-15 Thread fixeria
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

2019-06-15 Thread fixeria
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

2019-06-15 Thread fixeria
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

2019-06-15 Thread fixeria
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

2019-06-15 Thread fixeria
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

2019-06-15 Thread fixeria
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

2019-06-15 Thread fixeria
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