SMPP: Fix crash on delivery of incoming SUBMIT-SM

As bsc_gsmnet is NULL at the time we call smpp_openbsc_init(),
we later run into segfaults with subscribers that don't have a
subscr->net set.

However, we cannot delay smpp_openbsc_init() until after
bsc_bootstrap_network(), as we then fail to parse the SMPP specific
VTY/config file options...
diff --git a/openbsc/src/libmsc/smpp_openbsc.c b/openbsc/src/libmsc/smpp_openbsc.c
index e83fb75..585f939 100644
--- a/openbsc/src/libmsc/smpp_openbsc.c
+++ b/openbsc/src/libmsc/smpp_openbsc.c
@@ -434,18 +434,16 @@
 }
 
 /*! \brief Initialize the OpenBSC SMPP interface */
-int smpp_openbsc_init(struct gsm_network *net, uint16_t port)
+int smpp_openbsc_init(void *ctx, uint16_t port)
 {
-	struct smsc *smsc = talloc_zero(net, struct smsc);
+	struct smsc *smsc = talloc_zero(ctx, struct smsc);
 	int rc;
 
-	smsc->priv = net;
-
 	rc = smpp_smsc_init(smsc, port);
 	if (rc < 0)
 		talloc_free(smsc);
 
-	osmo_signal_register_handler(SS_SMS, smpp_sms_cb, net);
+	osmo_signal_register_handler(SS_SMS, smpp_sms_cb, smsc);
 	osmo_signal_register_handler(SS_SUBSCR, smpp_subscr_cb, smsc);
 
 	g_smsc = smsc;
@@ -454,3 +452,8 @@
 
 	return rc;
 }
+
+void smpp_openbsc_set_net(struct gsm_network *net)
+{
+	g_smsc->priv = net;
+}